系统要求
- 安装docker CE需要CentOS 7的维护版本,存档版本(没在维护的版本)不支持
- 确认版本号
$ sudo cat /etc/redhat-release
- 必须开启centos-extras仓库,默认是打开的,如果被关闭了,需要重新打开
- 推荐使用overlay2存储驱动,overlay也可以但是不推荐。overlay2要求Linux内核为4.0+
卸载旧版本
旧版本的docker叫做docker或者docker-engine ,如果有安装,先卸载其以及其依赖,新版本的docker叫做docker-ce。
/var/lib/docker/目录下的镜像文件,容器,卷和网络将会被保留,不会被删除。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
安装
有三种安装办法:
- 在软件源内添加docker,并且安装,这样安装和升级比较方便,官方推荐。
- 下载RPM包手动安装,手动升级,一般在与互联网隔绝的情况下使用此方法。
- 官方一键安装脚本,上面说过,此处不再赘述。
添加源进行安装
首先安装docker的仓库,你可以从这个仓库中安装或者升级docker。
设置仓库
- 安装依赖包,yum-utils提供yum-config-manager工具,devicemapper存储驱动需要device-mapper-persistent-data和lvm2
$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 使用下面的命令安装稳定版仓库,即使安装最新体验版或者是测试版也需要稳定版仓库。
官网连接不稳定,推荐使用阿里云仓库
$ sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
官网:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
可选:体验版和测试版默认是关闭的,你可以通过下面的命令打开,不打开也不影响稳定版的使用。
$ # 打开体验版与测试版
$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test
$ # 关闭体验版与测试版
$ sudo yum-config-manager --disable docker-ce-edge
$ sudo yum-config-manager --disable docker-ce-test
注意:从docker17.06开始,稳定版也同样会被推送到体验版和测试版的仓库里
安装docker CE
- 安装最新版本的docker CE
$ sudo yum install -y docker-ce
以上命令始终安装docker CE最新版本,如果提示接受GPG key,官方说检查指纹是否是
060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
,是的话,就接受,不过我在安装的过程中没有遇见。
注意:如果安装了多个docker仓库,使用yum install
或者yum update
命令时后面不跟版本信息的话,将始终安装最高版本的docker!
- 安装指定版本的docker CE
$ yum list docker-ce --showduplicates | sort -r
列出版本,版本号从高到低
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
安装指定版本的docker CE,需要指定完整的包名称,例如安装仓库中的这个版本 18.03.0.ce-1.el7.centos
,其命令为
$ sudo yum install -y docker-ce-18.03.0.ce
其他版本同理
启动docker CE
- 启动其实是启动docker deamon,即docker守护进程/docker引擎
$ sudo systemctl start docker
- 添加开机自启
systemctl enable docker
以上即是CentOS从仓库中安装docker CE的全部过程,如果需要升级的话,移除之前的docker,再重复上面的过程即可。
验证
$ sudo docker version
或者
$ sudo docker run hello-world
配置阿里云镜加速
阿里云地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://***.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
验证
卸载
$ sudo systemctl stop docker
$ sudo yum -y remove docker-ce
$ sudo rm -rf /var/lib/docker