执行命令时出现错误: "docker-runc" 可执行文件未在 $PATH 中找到: 未知。

9

使用Ubuntu 18.04,升级到"Docker version 18.09.0-ce-tp5, build 9eb3d36"之后,之前一切正常。

在执行docker-compose up时,出现以下错误:

ERROR: for mysql_1 Cannot start service mysql: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v1.linux/moby/242793c2e7ad05e93ccff53ae37e5d8b054a72f9c2076c1b480f33929dbb45aa/log.json: no such file or directory): exec: "docker-runc": executable file not found in $PATH: unknown

运行docker info结果如下:

linux@linux-linux:/$ docker info
Containers: 14
 Running: 14
 Paused: 0
 Stopped: 0
Images: 1091
Server Version: 18.09.0-ce-tp5
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 1038
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: containerd runc
Default Runtime: containerd
Init Binary: docker-init
containerd version: ce243288e27971e324363de8f322d221635a8521 (expected: 468a545b9edcd5932818eb9de8e72413e616e86e)
runc version: 1555a78945e56737bc3d15565191d857ee6fa2b9 (expected: 69663f0bd4b60df09991c08812a60108003fa340)
init version: fec3683
Security Options:
 apparmor
Kernel Version: 4.15.0-32-generic
Operating System: Ubuntu 18.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.719GiB
Name: linux-linux
ID: F475:F7JY:3HSG:XLGM:BAPD:CZYD:HRRO:SN3N:SFSX:7XOK:VDZ4:SNMV
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

WARNING: No swap limit support
5个回答

3
使用ubuntu 18.04,将docker升级到“Docker version 18.09.0-ce-tp5, build 9eb3d36”后,TP#版本是预发布版本(我猜测它代表技术预览版)。这些版本会有问题,并且与containerd集成有很多变化。您可以尝试升级到beta1版本,或者回退到稳定的18.06.1版本。您可以在此处查看版本发布信息:https://github.com/docker/docker-ce/releases

1

问题: 我遇到了相同的问题。

解决方案: 首先,我重启了docker,但是当我尝试启动我的容器时,出现了错误响应:OCI runtime create failed: container with id exists:xxxxxxxxxx

但在ps -a中没有显示任何内容。 虽然我能够使用相同的ID运行新的容器。

然后尝试重新启动服务器,现在它正常工作。


1
这听起来像是 https://bugs.launchpad.net/ubuntu/+source/docker.io/+bug/1836022 ... - Anon

0

正如您在这两行中所看到的:

containerd version: ce243288e27971e324363de8f322d221635a8521 (expected: 468a545b9edcd5932818eb9de8e72413e616e86e)
runc version: 1555a78945e56737bc3d15565191d857ee6fa2b9 (expected: 69663f0bd4b60df09991c08812a60108003fa340)

docker期望有另一个与已标记容器相同的容器ID。我猜这是问题的原因。
你尝试重新构建你的容器了吗?


0

我遇到了类似的问题。
尝试提交您的容器。
然后再次运行它。
例如:
docker commit RUNNING_CONTAINER IMAGE1
docker run -d IMAGE1


0

service docker restart 在我的情况下解决了问题。


3
在我的情况下,重新启动服务没有解决问题,但重新启动机器却解决了。 - yurenchen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接