centos7 docker升级

前言

有时候你会发现 有的docker容器安装后无法启动 ,这可能是docker版本太老,故升级下docker就行

先更新与更换下源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y update

删除与安装

暂停:

systemctl stop docker

查看当前版本

rpm -qa | grep docker

卸载软件包:

yum erase docker \
docker-client \
docker-compose \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce

直接yum安装:

yum install -y yum-utils device-mapper-persistent-data lvm2

可选—直接拉取 yum安装失败时使用:

curl -fsSL https://get.docker.com/ | sh

可选—yum安装到指定版本:

yum list docker-ce --showduplicates | sort -r

安装到自己想要的版本docker-ce-xxxxx

yum install docker-ce-xxxxx

重启docker:

systemctl daemon-reload
systemctl restart docker

开机自启:

systemctl enable docker

可选—版本查看:

docker version

解决升级Docker后重启容器无法启动:

cd /var/lib/docker/containers
grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'
systemctl restart docker

docker镜像列表存在但删除显示 No such image

原因1:
容器还存在是无法删除镜像的解决步骤:
1.停掉容器(docker stop 容器ID或容器名称)
2.删除容器(docker rm 容器ID或容器名称)
3.删除镜像(docker rmi 镜像ID或镜像名称:版本号)

原因2:
容器不存在,删除镜像时候提示 No such image
docker 镜像文件是存在/var/lib/docker/image/overlay2/imagedb/content/sha256目录下的

解决:
删除/var/lib/docker/image/overlay2/imagedb/content/sha256目录下相应的镜像文件即可

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注