Docker OCI 运行时创建失败:container_linux.go:349: 启动容器进程导致

K-s*_*S-k 22 linux docker

做一个项目快一年了,这个项目一直在Docker上工作。今天发现整个文件系统的权限都变成了777(所有文件“-rwxrwxrwx”)。我不知道为什么会发生这一切,我想解决它。

我运行了两个 Bash 命令:

find ./ -type -d exec chmod 755 {} \;
find ./ -type -f exec chmod 644 {} \;
Run Code Online (Sandbox Code Playgroud)

之后我想看看结果,我运行了这个命令ls -l,我看到了这样一条消息Permission denied,这是可能发生的最糟糕的事情。我无法运行一个命令,并决定离开容器。在那之后,噩梦开始了。现在,当我尝试再次启动容器时,出现以下错误

Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown
Error: failed to start containers:
Run Code Online (Sandbox Code Playgroud)

我不想考虑最坏的情况,因为我不能失去这个容器,我真的需要它。我的操作系统 Ubuntu 18.04。

小智 21

在入口点添加“bash”对我有用:

ENTRYPOINT ["bash","entrypoint.prod.sh"]
Run Code Online (Sandbox Code Playgroud)


dej*_*dej 5

首先查看服务状态:

systemctl status docker
Run Code Online (Sandbox Code Playgroud)

尝试重新启动:

systemctl restart docker
Run Code Online (Sandbox Code Playgroud)

我遇到了同样的问题,对我来说,解决方案是更准确地更新单元文件/etc/systemd/system/docker.service( ) ,然后从单元文件中systemctl edit docker.service删除它。MountFlags=slavesystemctl daemon-reload

  • 谢谢你的建议,我已经查过了,没有 MountFlags=slave (2认同)