使用Docker COPY复制隐藏文件.env

Hsi*_*sao 15 linux ubuntu docker dockerfile docker-compose

我有一个Dockerfile,有这样的语法 COPY ["Gemfile", "Gemfile.lock", "Procfile", ".env", "/huginn/"]

RUN /bin/bash -l -c "ls -a"用来检查文件应对状态,我发现.env文件不要复制到图像.

我将.env文件名更改为test.env并使用COPY ["Gemfile", "Gemfile.lock", "Procfile", "test.env", "/huginn/"],然后它工作,test.env被复制到图像.

谁知道为什么?任何解决方案都可以让COPYdocker 支持.env文件名?

pl_*_*ock 20

如果你有.dockerignore文件,那么它可能是你添加到忽略隐藏文件,如.git,.vagrant等.

如果.dockerfile忽略隐藏文件,则可以启用不忽略或更改文件名.

有关.dockerignore文件的更多信息

  • 如何才能不被忽视? (3认同)
  • 如果忽略该文件,该命令将出现错误“lstat .env:没有这样的文件或目录” (2认同)

Che*_*ana 7

.dockerignore 文件文档中有一个声明:

Note: For historical reasons, the pattern . is ignored.
Run Code Online (Sandbox Code Playgroud)

  • 作者正在询问一个特定的文件:`.env`。我希望您提到的注释仅涉及“.”,而不是所有以其开头的文件或文件夹(例如“.*”)。此外,文档指出:“预处理步骤会删除前导和尾随空格并消除 . 和 .. 使用 Go 的 filepath.Clean 元素。预处理后的空白行将被忽略。 (2认同)