Shell 如何修复Docker中OCI运行时创建失败
我在新的Rasbian Stretch安装中导入了Docker映像。 图像在上一次安装时运行良好(拉斯宾拉伸)。 问题是:当我尝试使用bash命令在新安装上运行image时(但是使用npm start等的laso),我遇到了以下问题:Shell 如何修复Docker中OCI运行时创建失败,shell,docker,Shell,Docker,我在新的Rasbian Stretch安装中导入了Docker映像。 图像在上一次安装时运行良好(拉斯宾拉伸)。 问题是:当我尝试使用bash命令在新安装上运行image时(但是使用npm start等的laso),我遇到了以下问题: $ docker run -ti nodejs:latest bash docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starti
$ docker run -ti nodejs:latest bash
docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown.
我尝试再次保存原始图像,以便再次导入并运行。但问题总是一样的
上次安装的docker版本为:18.04.0-ce
现在:18.09.0
我尝试安装与以前相同版本的docker,但它没有改变任何东西
我还尝试了以下解决方案:
这表示删除/lib/systemd/system/docker.service中的行“MountFlags=slave”
但是我没有这个文件。所以我做了:
grep -sr "MountFlags=slave" /
输出:
/lib/systemd/system/systemd-udevd.service:MountFlags=slave
因此,我转到/lib/systemd/system/systemd-udevd.service,在注释中添加行“MountFlags=slave”。
然后我做了:systemctl守护进程重新加载
和systemctl重新启动docker
但是没有工作,我仍然有同样的问题
最后,这是可行的:
docker run hello world
我的Dockerfile:
FROM node:8-jessie
RUN apt-get update
RUN apt-get install -y vim fswebcam
# for mjpg_streamer
RUN apt-get install -y cmake libjpeg8-dev
RUN apt-get install -y gcc g++
EXPOSE 8080
WORKDIR /app
CMD ['npm', 'start']
我不明白为什么我的映像不能在我的新安装上运行,而它可以在我以前的安装上运行
谢谢你 只需在Dockerfile中显式安装
bash
。例如,在Dockerfile中更改此行: 运行apt get install-y vim fswebcam bash 或 使用
sh
shell例如,在run命令中更改此选项: docker exec-ti nodejs:最新版本
我找到了“解决方案”->我不知道为什么,但我只是用dockerfile重新制作了图像。我知道这是一个旧线程,但将解决方案放在这里对我有效 使用
docker import
导入docker图像时,我遇到了相同的问题
使用
docker load--input
解决了这个问题。谢谢你的回答,但我对sh也有同样的问题。即使我根据你的First命令安装了batch。将docker run
更改为docker exec
请;)