Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.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
Docker与Docker用DockerRignore组合_Docker_Docker Compose - Fatal编程技术网

Docker与Docker用DockerRignore组合

Docker与Docker用DockerRignore组合,docker,docker-compose,Docker,Docker Compose,docker和docker compose在处理DockerRignore时是否应该有所不同 我有一个Docker容器,当我直接构建它时,它构建得很好,例如通过Docker build-t mycontainer./mycontainer,但是当我通过Docker compose-up构建它时,它失败了。docker compose.yml的相关部分是 version: '3' services: mycontainer: build: ./mycontainer ports:

docker和docker compose在处理DockerRignore时是否应该有所不同

我有一个Docker容器,当我直接构建它时,它构建得很好,例如通过
Docker build-t mycontainer./mycontainer
,但是当我通过
Docker compose-up构建它时,它失败了。docker compose.yml的相关部分是

version: '3'
services:
  mycontainer:
    build: ./mycontainer
  ports:
    - "1234:1234"
  expose:
    - "1234"
通过使用
docker run--rm-it--entrypoint=/bin/bash 240e1a06c8f5
,其中
240e1a06c8f5
是构建失败之前的最后一个映像,我发现其中一个文件
/mycontainer/mymodel/labels.rdata
没有被
docker compose-up
复制,而是被
docker build
复制。它也接近于
.dockrignore
*/*.RData
中的模式

这是docker compose和docker build在
.dockrignore
中区分大小写的区别吗?这在路径处理方面有区别吗?这是已知的bug吗?(还是有意的?) MacOs上的版本:

$ docker --version
Docker version 18.09.1, build 4c52b90
$ docker-compose --version
docker-compose version 1.23.2, build 1110ad01

我刚刚尝试在Windows上使用不区分大小写的
.dockerginore
条目,但它实际上忽略了该文件,因此看起来您的
*/*.RData
实际上会忽略您的
/mycontainer/mymodel/labels.RData
文件

尝试更改文件的扩展名或更改忽略条目。我想更改文件名,因为这似乎是一次性的


编辑:这听起来确实像个bug。我会在他们的页面上提交一个,因为一位同事建议添加一个**/在
.dockrignore
的末尾提供了\u labels.rdata功能。这和你的建议都是很好的解决办法。。。我希望解释一下为什么
docker build
docker compose build
之间的行为不同。。。对我来说好像是个虫子