是可以使用的。DockerRignore使docker构建真正忽略一切?
操作系统版本/构建:macOS High Sierra 10.13(17A365)-Docker版本17.10.0-ce,构建f4ffd25 拥有一个包含1.4GB和no.dockerginore文件的文件夹,构建需要很长时间才能启动,我收到以下消息:是可以使用的。DockerRignore使docker构建真正忽略一切?,docker,Docker,操作系统版本/构建:macOS High Sierra 10.13(17A365)-Docker版本17.10.0-ce,构建f4ffd25 拥有一个包含1.4GB和no.dockerginore文件的文件夹,构建需要很长时间才能启动,我收到以下消息: > time docker build -t continous-testing-dashboard . Sending build context to Docker daemon 1.416GB ... 5.23s user 1
> time docker build -t continous-testing-dashboard .
Sending build context to Docker daemon 1.416GB
...
5.23s user 11.88s system 45% cpu 37.795 total
总时间:37秒
将(几乎)所有文件夹添加到.dockrignore文件
.git
.idea
app
bootstrap
config
database
node_modules
public
resources
storage
tests
vendor
它仍然需要很多时间,并发送一个大的上下文do Deamon:
> time docker build -t continous-testing-dashboard .
Sending build context to Docker daemon 675.3MB
...
17.81s user 6.78s system 86% cpu 28.439 total
总时间:28秒
但在我得到的空文件夹上构建完全相同的Dockerfile:
Sending build context to Docker daemon 32.26kB
0.03s user 0.03s system 25% cpu 0.230 total
总时间:230毫秒强>
看起来它什么都不忽略,仍然向上下文添加了约1/3的文件。有没有办法让它真的忽略所有内容?这似乎与你的问题有关:使用
***
忽略与忽略文件相同目录中的所有内容忽略所有内容不是一个选项,但我自己明白了另一个答案告诉我的是什么:添加一个带有Dockerfile的文件夹和一些其他文件可以解决这个问题,但由于我必须在docker run中引用该文件夹,我仍然认为如果您不需要将较大的文件夹作为docker build
的一部分,而只是作为docker run
的一部分,可能有一种方法可以修复此行为,您还可以查看如何使用带有docker run-v/path/on/my_computer:/path/inside/container image:tag的卷,我认为问题在于。docker守护进程上对docker rignore
进行了评估。因此,它首先将构建文件夹中的所有数据发送到守护进程,然后过滤掉被忽略的数据。这似乎与您的问题有关:使用**
忽略与忽略文件相同目录中的所有内容忽略所有内容不是选项,但我自己明白了另一个答案的含义:添加一个带有docker文件的文件夹和一些其他文件可以解决这个问题,但由于我必须在docker run中引用该文件夹,我仍然认为如果您不需要将较大的文件夹作为docker build的一部分,可能有一种方法可以解决这个问题,但是,仅作为docker run
的一部分,您还可以查看在/my_computer:/path/inside/container image:tag上使用docker run-v/path/卷的情况,我认为问题在于.dockrignore
是在docker守护进程上评估的。因此,它首先将构建文件夹中的所有数据发送到守护进程,然后过滤掉被忽略的数据。