.dockerignore工作的文件是什么?

时间:2015-08-03 14:21:32

标签: docker

我真的不明白.dockerignore是如何运作的。 是否打算像以下一样使用:

  • 首先我在其中添加一些内容,例如*.md
  • 然后我将此.dockerignore放入容器中。
  • 之后我跑步并进入容器。
  • 我创建了一个名为test.md的新文件,并将此容器提交给新图像。
  • 新图像将忽略此文件,因此它不会出现在新容器中。

3 个答案:

答案 0 :(得分:7)

在解释.dockerignore文件的使用之前,我们必须花一点时间了解docker build的作用。

Docker构建。构建图像时会发生什么?

使用docker build命令从Dockerfile构建映像时,守护程序将创建上下文。该上下文包含您执行命令的目录中的所有内容。

.dockerignore做什么以及为什么要使用它?

.dockerignore文件允许您从上下文中排除文件,例如.gitignore文件允许您从git存储库中排除文件。

通过从构建中未使用的上下文大文件或存储库中排除,有助于使构建更快更轻。

答案 1 :(得分:3)

docker buildtarCONTEXT目录,并将其发送到docker daemon。这是因为daemonclient可能不存在于同一台服务器上。

tar和网络发送是未使用的文件可以减慢构建速度的原因。即使daemon在本地运行,也会发生这种情况。

答案 2 :(得分:0)

  

然后我把这个.dockerignore放在容器里。

不,不要那样做。 .dockerignore文件与Dockerfile位于同一目录中,旨在通过在构建时排除来加速docker build命令不会用于构建docker镜像的文件。