之前使用的docker版本是1.13.1版本,升级为20.10.7版本,再使用docker ps发现之前的jenkins容器已经退出了
[root@docker ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
428aa035296d 2869fc110bf7 "/portainer" 15 months ago Exited (2) 2 hours ago 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp prtainer-test
#启动容器
[root@docker ~]# docker start 428aa035296d
Error response from daemon: Unknown runtime specified docker-runc
Error: failed to start containers: 428aa035296d
可能是因为从不兼容的版本升级了docker
解决方法:
更改/var/lib/docker/containers目录中的文件参数,把docker-runc替换为runc
命令:
grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'
注:grep -rl:递归搜索目录和子目录,只列出含有匹配的文本行的文件名,而不显示具体的匹配内容
xargs:衔接执行之前得到的值
总体意思是把/var/lib/docker/containers中含有‘docker-runc’的文件搜索出来,并把‘docker-runc’字符为runc
重新启动docker
systemctl restart docker
再启动失败的容器问题已解决