Docker无法启动容器:缺失docker-containerd-shim,创建软链能否解决?
问题解答:Docker无法启动容器因找不到docker-containerd-shim的解决方案
当然可以通过创建符号链接来解决这个问题,这是个非常直接的临时修复方案,咱们先理清楚背后的原因:
在Docker 18.09.x版本中,docker-containerd-shim本质上就是containerd-shim的符号链接——Docker服务启动容器时会尝试调用这个命名的可执行文件,但如果因为安装异常、文件系统问题或者服务重启不彻底等原因导致这个链接丢失,就会出现你遇到的"找不到文件"错误。
具体操作步骤:
- 先确认
containerd-shim的存在路径:ls -l /usr/bin/containerd-shim - 创建符号链接,让
docker-containerd-shim指向已存在的containerd-shim:sudo ln -s /usr/bin/containerd-shim /usr/bin/docker-containerd-shim - 验证链接是否创建成功:
输出应该显示该文件是指向ls -l /usr/bin/docker-containerd-shim/usr/bin/containerd-shim的软链接 - 最后可以尝试启动容器,或者重启Docker服务确保配置生效:
sudo systemctl restart docker
额外注意事项:
- 这个方法能快速解决当前问题,但建议你排查下链接丢失的根源——比如是不是系统更新、Docker升级过程中出了差错,或者有没有自动清理脚本误删了这个链接
- 如果之后要升级Docker版本,记得先删除手动创建的这个符号链接,避免和新版本的文件产生冲突,导致新的问题
内容的提问来源于stack exchange,提问作者Tayeb Ben Achour
相关产品推荐
相关产品推荐

