【发布时间】:2020-11-11 01:04:17
【问题描述】:
我有一个以
结尾的 dockerfileCOPY ./entrypoint.sh /usr/local/bin
RUN chmod +x /usr/local/bin/entrypoint.sh
CMD /usr/local/bin/entrypoint.sh
但是在构建图像之后,当我尝试运行它时,我得到了
/bin/sh: /usr/local/bin/entrypoint.sh: not found
如果我将最后一行更改为
CMD ls -l /usr/local/bin/
当我运行图像时,我得到了输出
-rwxr-xr-x 1 root root 484 Jul 21 13:07 entrypoint.sh
这表明entrypoint.sh文件实际上在目录中。 当我在运行后使用docker export导出容器的文件系统时,也可以在/usr/local/bin/中找到entrypoint.sh文件
我不确定是什么原因导致找不到 entrypoint.sh 文件,非常感谢任何帮助。
【问题讨论】:
-
您在使用 Docker for Windows 吗?当您将文件从 Windows 主机复制到容器时,这可能是由于 CRLF 换行符而不是 LF 造成的。
-
另外,您用于 Dockerfile 的基本映像是什么?
-
能显示entrypoint.sh的内容吗?
-
@octagon_octopus 啊,是的,我使用的是 Windows,转换为 LF 换行符解决了这个问题。非常感谢!!
标签: docker dockerfile