我从事一个项目已经快一年了,这个项目已经在Docker中工作了。今天,我注意到整个文件系统的权限更改为777(所有文件均为“ -rwxrwxrwx”)。我不知道为什么会发生所有这些事情,所以我想修复它。
我运行了两个Bash命令:
find ./ -type -d exec chmod 755 {} \;
find ./ -type -f exec chmod 644 {} \;
此后,我想查看结果,然后运行此命令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:
我不想考虑最坏的情况,因为我承受不起丢掉这个容器的麻烦,我真的很需要它。我的操作系统Ubuntu 18.04。
答案 0 :(得分:8)
在入口点添加“ bash”对我有用:
ENTRYPOINT ["bash","entrypoint.prod.sh"]
答案 1 :(得分:2)
首先检查服务状态:
$systemctl status docker
尝试重新启动:
$systemctl restart docker
我遇到了同样的问题,我的解决方案是更精确地更新单位文件/etc/systemd/system/docker.service
($systemctl edit docker.service
),我从单位文件中删除了MountFlags=slave
,然后删除了{{ 1}}。
答案 2 :(得分:1)
答案 3 :(得分:0)
在包含 Docker 更新的 Fedora 34 上执行 dnf update
后出现此错误。
降级 containerd.io
对我有用。
sudo dnf downgrade containerd.io