什么文件是.dockerignore的工作?
我不太了解.dockerignore
函数。 这是否意味着像fllow:
-
首先我添加一些诸如
*.md
-
然后我把这个
.dockerignore
放在容器里。 -
之后,我运行一个容器并input这个容器。
-
我创build了一个名为
test.md
的新文件,并将这个容器提交给新图像 -
新的图像将忽略这个文件,所以它不会在新的容器中。
在解释.dockerignore文件的使用之前,我们必须花一点时间了解docker docker build
function。
Docker构build。 当我build立一个图像时会发生什么?
当您使用docker docker build
命令从Dockerfile构build映像时,守护进程将创build一个上下文。 该上下文包含您执行该命令的目录中的所有内容。
.dockerignore做了什么,为什么使用它?
.dockerignore
文件允许你从上下文中排除文件,比如.gitignore文件允许你从你的git存储库中排除文件。
它有助于通过从构build中未使用的大文件或存储库中排除上下文来更快更轻地构build。
docker build
有一个步骤,它在CONTEXT
目录并将其发送到docker daemon
。 这是因为daemon
和client
可能不在同一台服务器上。
tar
和networking发送是为什么未使用的文件可以减慢构build。 即使daemon
在本地运行,也会发生这种情况。
然后我把这个.dockerignore放在容器里。
不,不要这样做。 .dockerignore
文件与.dockerignore
位于同一个目录中,用于通过在构build时排除一些不会用于构build泊坞窗镜像的文件来加快Dockerfile
docker build
命令的速度。