编辑:我重新编辑了原来的帖子,删除了我提出的一些废话和问题。我自己设法解决了这个问题,请参阅下面的答案
我的 Docker 发生了最奇怪的事情。现在,当我将使用该命令构建的 Docker 映像DOCKER BUILD作为容器运行时,会出现错误,提示ENTRYPOINT无法找到其中的文件。
[FATAL tini (7)] exec /bin/start_vsftpd.sh failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这些图像不是我的,它们是来自 GITHUB 的 GIT 存储库,100% 有效,我过去已经运行过几次,没有出现任何问题。现在它错误地指出这些文件不存在,即使它们存在。
我找到了原因,确实是Windows的原因!
奇怪的是,如果您通过 zip 文件方法从 GITHUB 获取存储库的副本,然后解压它,它会保持正确的Linux换行完好无损。但是,如果您在 Visual Studio 代码中使用repo 方法,则似乎会使用Windows换行符clone GIT创建文件。
运行时Docker build,它.sh使用 Windows 换行复制文件,这就是图像(我假设任何 Linux 操作系统)无法看到该.sh文件的原因。
要解决此问题,在构建映像之前,您需要编辑 .sh 文件并将换行符转换LF为 Windows 选择的默认值 - CRLF。这应该可以解决问题,但是,我还建议对所有文件进行更改。我相信 Visual Studio 代码中有一个选项可以为所有文件打开此功能(只需 google 即可)。
| 归档时间: |
|
| 查看次数: |
1039 次 |
| 最近记录: |