我正在使用Docker镜像ubuntu:trusty
,并且entrypoint.sh
文件包含
#!/bin/bash
. /appenv/bin/activate
exec $@
在Dockerfile
包含入口点脚本
ADD scripts/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]
收到错误exec user process caused "no such file or directory"
答案 0 :(得分:4)
我确信这是一种常见的情况,即在入口点脚本中使用错误的行结尾会导致此错误。
您可以使用dos2unix
命令修复它们或手动执行此操作。
要获得更详细的答案,您需要提供更多上下文信息。
答案 1 :(得分:2)
在dos2unix
文件上运行entrypoint.sh
命令。上述错误是由错误的行结尾引起的。此命令将DOS / MAC格式的纯文本文件转换为UNIX格式。
使用示例:
dos2unix entrypoint.sh
修复出现的任何错误并再次运行构建。关注this link以获取更多信息
答案 2 :(得分:0)
我的问题是入口点确实在构建阶段被复制了,但是我的 docker-compose 在同一路径共享一个卷,所以它被覆盖了。
确保您的入口点不在您安装卷的目录中。