"docker-containerd-shim": 在 $PATH 中找不到可执行文件:未知

"docker-containerd-shim": executable file not found in $PATH: unknown

Docker 无法再启动容器,因为在 $PATH 中找不到 docker-containerd-shim 可执行文件。

问题是 docker-containerd-shim 可执行文件在机器上的任何地方都找不到,而在 /usr/bin 目录下还有另一个名称几乎相同的可执行文件:"containerd-shim"。

我重启了服务,一切都恢复正常了。创建符号 link "docker-containerd-shim" ---> "container-shim" 可以解决问题吗?

Docker版本:18.09.7 OS:Ubuntu 16.04 LTS

我在 Google Compute Engine 上遇到过这种情况。 VM 运行 gitlab-runner 用于 CI 目的。

似乎是为这张图片启用的 nigly 升级 ubuntu-1804-bionic-v20180723 导致了重新启动,从而导致了这种不当行为。

[...]
Jul  9 06:30:59 gitlab-runner systemd[1]: Starting Daily apt upgrade and clean activities...
Jul  9 06:31:22 gitlab-runner systemd[1]: Reloading.
Jul  9 06:31:23 gitlab-runner systemd[1]: Stopping LSB: automatic crash report generation...
Jul  9 06:31:23 gitlab-runner apport[21840]:  * Stopping automatic crash report generation: apport
Jul  9 06:31:23 gitlab-runner apport[21840]:    ...done.
Jul  9 06:31:23 gitlab-runner systemd[1]: Stopped LSB: automatic crash report generation.
Jul  9 06:31:23 gitlab-runner systemd[1]: Reloading.
Jul  9 06:31:24 gitlab-runner systemd[1]: message repeated 5 times: [ Reloading.]
Jul  9 06:31:25 gitlab-runner systemd[1]: Starting LSB: automatic crash report generation...
Jul  9 06:31:25 gitlab-runner apport[22110]:  * Starting automatic crash report generation: apport
Jul  9 06:31:25 gitlab-runner apport[22110]:    ...done.
Jul  9 06:31:25 gitlab-runner systemd[1]: Started LSB: automatic crash report generation.
Jul  9 06:31:32 gitlab-runner systemd[1]: Reloading.
Jul  9 06:31:33 gitlab-runner systemd[1]: docker.service: Current command vanished from the unit file, execution of the command list won't be resumed.
Jul  9 06:31:36 gitlab-runner systemd[1]: Reloading.
Jul  9 06:31:36 gitlab-runner systemd[1]: Reloading.
Jul  9 06:31:36 gitlab-runner systemd[1]: Starting containerd container runtime...
Jul  9 06:31:36 gitlab-runner systemd[1]: Started containerd container runtime.
Jul  9 06:31:36 gitlab-runner systemd[1]: Reloading.
[...]

的确,重启解决了这个问题。

我们在 Jenkins 管道中遇到了类似的错误。 使用稳定的频道重新安装 docker 修复了它。

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

(https://docs.docker.com/install/linux/docker-ce/ubuntu/)

所以我们假设这是一个夜间/测试构建问题。 (不记得我们之前在哪个频道了)