什么文件是.dockerignore的工作?

我不太了解.dockerignore函数。 这是否意味着像fllow:

  • 首先我添加一些诸如*.md

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

  • 之后,我运行一个容器并input这个容器。

  • 我创build了一个名为test.md的新文件,并将这个容器提交给新图像

  • 新的图像将忽略这个文件,所以它不会在新的容器中。

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

Docker构build。 当我build立一个图像时会发生什么?

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

.dockerignore做了什么,为什么使用它?

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

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

docker build有一个步骤,它在CONTEXT目录并将其发送到docker daemon 。 这是因为daemonclient可能不在同一台服务器上。

tar和networking发送是为什么未使用的文件可以减慢构build。 即使daemon在本地运行,也会发生这种情况。

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

不,不要这样做。 .dockerignore文件与.dockerignore位于同一个目录中,用于通过在构build时排除一些不会用于构build泊坞窗镜像的文件来加快Dockerfile docker build命令的速度。