Docker与Docker用DockerRignore组合
docker和docker compose在处理DockerRignore时是否应该有所不同 我有一个Docker容器,当我直接构建它时,它构建得很好,例如通过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 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
之间的行为不同。。。对我来说好像是个虫子