Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker OCI运行时创建失败:容器\u linux。转到:349:导致启动容器进程_Linux_Docker - Fatal编程技术网

Docker OCI运行时创建失败:容器\u linux。转到:349:导致启动容器进程

Docker OCI运行时创建失败:容器\u linux。转到:349:导致启动容器进程,linux,docker,Linux,Docker,我已经在一个项目上工作了将近一年,这个项目一直在Docker工作。今天我注意到整个文件系统的权限更改为777(所有文件“-rwxrwx”)。我不知道为什么会发生这一切,我想修复它 我运行了两个Bash命令: find ./ -type -d exec chmod 755 {} \; find ./ -type -f exec chmod 644 {} \; 在那之后,我想看到结果,我运行了这个命令ls-l,我看到这样一条消息权限被拒绝,这是可能发生的最糟糕的事情。我无法运行一个命令,决定离开容

我已经在一个项目上工作了将近一年,这个项目一直在Docker工作。今天我注意到整个文件系统的权限更改为777(所有文件“-rwxrwx”)。我不知道为什么会发生这一切,我想修复它

我运行了两个Bash命令:

find ./ -type -d exec chmod 755 {} \;
find ./ -type -f exec chmod 644 {} \;
在那之后,我想看到结果,我运行了这个命令
ls-l
,我看到这样一条消息
权限被拒绝
,这是可能发生的最糟糕的事情。我无法运行一个命令,决定离开容器。在那之后,噩梦开始了。现在,当我再次尝试启动容器时,我得到以下错误

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:

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

首先检查服务状态:
$systemctl状态docker

尝试重新启动:
$systemctl重新启动docker

我也遇到了同样的问题,我的解决方案是更新单元文件
/etc/systemd/system/docker.service
$systemctl edit docker.service
),更确切地说,我从单元文件中删除了
MountFlags=slave
,然后
$systemctl daemon reload

在入口点添加“bash”对我来说很有效:

ENTRYPOINT ["bash","entrypoint.prod.sh"]

在我的例子中,为了解决错误消息,我还必须启用Docker Desktop for Windows和运行在WSL2上的Ubuntu发行版之间的集成。我在Docker Desktop之后安装了发行版,但忘记了这一步


您有什么docker版本?可能您删除了
bash
/usr/local/bin
中或其所在位置的任何其他二进制文件上的exec权限(
x
)。@dejdej 19.03。8@StefanGolubović但有一些想法吗?是否可以从主机在停止的容器中运行命令?感谢您的建议,我已经检查过了,没有MountFlags=slave是的,完整的docker应用程序重启解决了我的问题……是的,这对我来说很有效,但是我不得不为我所有的发行版打开它,因为某些原因,仅仅为我正在使用的发行版启用它是不够的。这句话对我很有帮助。我在
mysqld
redis服务器
上出错。是的,这一行应该添加到
Dockerfile