繁体   English   中英

Docker 运行找不到 ENTRYPOINT

[英]Docker run does not find ENTRYPOINT

我有以下Dockerfile

FROM ubuntu:19.10
WORKDIR /gen
COPY script.sh ./

RUN chmod +x script.sh && export PATH="/gen/:$PATH"

ENTRYPOINT [ "script.sh" ]

它构建得很好,但我无法执行它。 帖子中的解决方案是将完整路径添加到脚本( ENTRYPOINT [ "/gen/script.sh" ] ),这不起作用。

将文件夹添加到PATH也不起作用。 这是为什么?

错误: docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \\"script.sh\\": executable file not found in $PATH": unknown.

编辑:问题来自我使用docker run --rm -v some/dir:/gen containerName调用docker run --rm -v some/dir:/gen containerName

问题是您没有修改PATH变量。 RUN语句中使用export不会持久。 您需要使用ENV设置环境变量。

FROM ubuntu:19.10
WORKDIR /gen
COPY script.sh ./

RUN chmod +x script.sh
ENV PATH="/gen:$PATH"

ENTRYPOINT ["script.sh"]

如果在将卷挂载到/gen同时运行 Docker 映像,您将覆盖/gen目录并且将找不到您的脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM