1. 前提
- yum源中的centos-extras repository必须开启(enable)
- 建议使用overlay2存储驱动
2. 卸载旧版本
旧版本的docker叫做docker或docker-engine,新版本的docker-CE包叫做docker-ce。如果你的主机上安装了docker或docker-engine,请先卸载它们。
# yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
# rm -rf /var/lib/docker/
如果yum报告“No Packages marked for removal”,那就ok。目录/var/lib/docker/下,包含了images, containers, volumes, 和networks,需要一并删除。至此,docker完全被卸载。
3. 安装docker-ce
3.1 使用repository安装(推荐)
- 安装依赖包
# yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 设置stable repository
# yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 查看可用版本的docker-ce
# yum list docker-ce --showduplicates | sort -r
- 安装指定版本的docker-ce
从上述安装列表中,安装docker-ce
// 例如,yum install docker-ce-18.03.0.ce
# yum install docker-ce-<VERSION STRING> docker-ce-cli containerd.io
- 启动docker
# systemctl start docker
- 验证docker正常安装
# docker run hello-world
- 升级docker-ce
直接安装指定版本的docker-ce,即可完成版本升级。
3.2 使用rpm包,离线安装(无互联网条件下安装)
- 下载安装包
从https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 下载docker-ce安装包
- 安装docker-ce
# yum -y install /path/to/package.rpm
- 启动docker-ce
# systemctl start docker
- 验证docker-ce
# docker run hello-world
- 升级docker-ce
# yum -y upgrade /path/to/package.rpm
3.3 自动化脚本安装(开发测试环境用)
# curl -fsSL get.docker.com -o get-docker.sh
# ./get-docker.sh
<output truncated>
If you would like to use Docker as a non-root user, you should nowconsider adding your user to the "docker" group with something like: sudo usermod -aG docker your-user
Remember to log out and back in for this to take effect!
WARNING: Adding a user to the "docker" group grants the ability torun containers which can be used to obtain root privileges on the docker host.Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface for more information.
4. 卸载docker-ce
# yum remove docker-ce
// 删除images, containers, volumes,networks
# rm -rf /var/lib/docker
然后,你需要手动删除docker-ce配置文件。
5. 参看文章
https://docs.docker.com/install/linux/docker-ce/centos/#install-docker