无法重新启动容器 OCI 运行时创建失败:container_linux.go:367: 启动容器进程导致:exec:: 权限被拒绝:未知

Rob*_*air 5 docker

docker-compose up从 Windows 上安装的 Ubuntu 18执行。

它返回一个错误

ERROR: for image Cannot start service python: OCI runtime create failed:
container_linux.go:367: starting container process caused: exec: "./start.sh":
permission denied: unknown
Run Code Online (Sandbox Code Playgroud)

Dockerfile 只是

FROM scratch
ADD ubuntu-bionic-core-cloudimg-amd64-root.tar.gz /

COPY start.sh ./
RUN chmod +x ./start.sh
CMD ["./start.sh"]
Run Code Online (Sandbox Code Playgroud)

Rob*_*air 12

Ubuntu 主机内部出现问题(可能是因为 docker-compose.yml 正在容器中安装该文件,但本地文件没有 +x 权限).. 必须在 Ubuntu 主机内部执行以下操作(不是在 docker 构建中)

$ chmod +x start.sh
Run Code Online (Sandbox Code Playgroud)

重建没有缓存的图像并再次启动一切,它起作用了

$ docker-compose build --no-cache
$ docker-compose up
Run Code Online (Sandbox Code Playgroud)

  • 多么奇怪的问题——但这解决了它,谢谢!我注意到这似乎只在使用“docker-compose up”运行时才会发生,而不是使用普通的“docker run”命令运行。似乎使用 docker-compose 时主机上的某些进程也需要执行该文件 (2认同)