1、下载rpm包
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.06.2.ce-1.el7.centos.x86_64.rpm
http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm
安装相应的依赖:
#yum -y install libseccomp.x86_64 libseccomp-devel.x86_64 libtool-ltdl.x86_64 libtool-ltdl-devel.x86_64 policycoreutils-python device-mapper-libs
#rpm -ivh container-selinux-2.68-1.el7.noarch.rpm
# rpm -ivh docker-ce-17.06.2.ce-1.el7.centos.x86_64.rpm
#选择自己需要的版本
2、修改docker root dir
#systemctl stop docker
# vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph=/data/docker --storage-driver=overlay2
将原有的docker内容copy到/data目录下:
# cp -r /var/lib/docker/ /data/
# systemctl daemon-reload
# systemctl restart docker
3、添加加速器
注册daocloud,执行相应脚本即可。
关于docker存储驱动的一点理解:
docker目前比较推荐的两个存储驱动是overlay/overlay2:
1) overlay
容器层(upper):可读可写,镜像层(lower):只读,容器映射(merged):对外显示统一视图
overlay只能工作在两层之上,所以用硬连接的方式去引用其他层共享的数据,这样方式有一个弊端,当镜像和容器数量非常多的时候会导致inode消耗严重。
使用条件:docker版本1.11之后
2)overlay2
overlay2可以工作在多层,最多(128层)。与overlay相比优化了对inode的消耗。性能更好一些
使用条件:linux内核4.0以上
3)两者适用的文件系统
ext4和xfs
overlay2可以