Docker 在 centos 7上升级

引子

如果有旧的Docker 先删除

旧Docker版本上的如果有 Image 的东西,请先删除

  • 旧Docker版本 现在:特指1.13 前的版本,这是Docker的一个重要改动
  • 将这些镜像文件全部删除,否则升级以后旧的镜像将无法删除
1
2
3
docker stop `docker ps -a -q`
docker rm `docker ps -a -q`
docker rmi -f `docker images -a -q` //这里将会强制删除

移除旧版本的软件信息

1
yum -y remove docker docker-common container-selinux

设置最新稳定版本的Docker仓库

1
2
3
yum-config-manager \
--add-repo \
https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo

如果未发现yum-config-manager命令,安装工具yum-utils

1
yum -y install yum-utils

安装Docker

更新yum源

1
yum makecache fast

安装最新的docker

1
yum -y install docker-engine

或者选择你要的Docker版本

1
yum list docker-engine.x86_64  --showduplicates |sort -r
1
yum -y install docker-engine-<VERSION_STRING>

启动

1
2
systemctl start docker
systemctl enable docker

测试

1
docker run hello-world

卸载Docker

1
yum -y remove docker-engine docker-engine-selinux

镜像, 容器, volumes, 配置文件 都不会自动删除. 需要手动删除

如果想回到 docker 1.13 前的版本

卸载Docker【删除镜像等】

移除目标源

安装旧版本的Docker

2019-1-29 更新

旧版本 docker or docker-engine
新版本 改为 docker-ce(社区版本) docker-ee(企业版本)

卸载旧版本

1
2
3
4
5
6
7
8
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

安装工具

1
2
3
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

配置docker-ce软件仓库

1
2
3
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

安装

1
yum install docker-ce docker-ce-cli containerd.io

启动服务

1
systemctl start docker