-
卸载旧版本的
Docker
yum remove docker docker-common docker-selinux docker-engine
-
安装需要的依赖包
yum install -y yum-utils device-mapper-persistent-data
-
配置稳定仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
-
查看所有仓库中所有
docker
版本[root@docker /]# yum list docker-ce --showduplicates | sort -r 已加载插件:fastestmirror 可安装的软件包 Loading mirror speeds from cached hostfile docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
安装(可以选择安装最新的版本和指定版本)
-
安装最新的版本
sudo yum install docker-ce
-
安装指定版本
sudo yum install docker-ce-18.03.1.ce
-
如果安装出现如下错误
[root@docker disk2]# sudo yum install docker-ce-18.03.1.ce 已加载插件:amazon-id, rhui-lb, search-disabled-repos 正在解决依赖关系 --> 正在检查事务 ··· 错误:软件包:docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-stable) 需要:container-selinux >= 2.9 错误:软件包:docker-ce-18.03.1.ce-1.el7.centos.x86_64
既然提示缺
container-selinux
,我们就先安装container-selinux
,在这里下载。
执行下面的命令下载安装包curl -O http://mirror.centos.org/centos/7/extras/x86_64/Packages/container-selinux-2.74-1.el7.noarch.rpm
然后按照下面安装就好啦
rpm -ivh container-selinux-2.74-1.el7.noarch.rpm
-
查看是否安装成功
[root@docker /]# docker version Client: Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:20:16 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarm Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
-
修改
Docker
的数据存储目录(可选)由于Docker默认的存储目录在系统的根目录
/var/lib/docker
下,占用空间很大,很可能导致后期系统磁盘空间不够的问题,最好先迁移一下数据到挂载的其它盘。
-
在磁盘空间比较大的地方创建一个存放docker数据的目录
[root@docker /]# cd work/ [root@docker work]# mkdir -vp docker/lib mkdir: 已创建目录 "docker" mkdir: 已创建目录 "docker/lib"
-
迁移
/var/lib/docker
目录下面的文件到/work/docker/lib
cp -r /var/lib/docker /work/docker/lib
-
修改
/usr/lib/systemd/system/docker.service
文件,将ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
修改为
ExecStart=/usr/bin/dockerd --graph /work/docker/lib -H fd:// --containerd=/run/containerd/containerd.sock
-
重新加载
docker
配置, 启动docker
, 设置docker
自启动systemctl daemon-reload systemctl start docker systemctl enable docker
-
查看配置是否成功
[root@docker docker.service.d]# docker info ··· Server Version: 18.03.1-ce Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Docker Root Dir: /work/docker/lib/docker ···
看到
Docker Root Dir: /work/docker/lib/docker
这一行就代表我们的配置已经生效了