Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是可以使用的。DockerRignore使docker构建真正忽略一切?_Docker - Fatal编程技术网

是可以使用的。DockerRignore使docker构建真正忽略一切?

是可以使用的。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

操作系统版本/构建: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 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守护进程上评估的。因此,它首先将构建文件夹中的所有数据发送到守护进程,然后过滤掉被忽略的数据。