docker-compose版本信息:
docker-compose version 1.24.1, build 4667896b
docker-py version: 3.7.3
CPython version: 3.6.8
OpenSSL version: OpenSSL 1.1.0j 20 Nov 2018我有几个Dockerfile和docker-compose文件,它们按照以下约定命名
Dockerfile.a
Dockerfile.b
Dockerfile.c
docker-compose.x.dev.yml
docker-compose.x.prod.yml
docker-compose.y.dev.yml
docker-compose.y.prod.ymldocker-compose.x.prod.yml可能看起来像什么
version: '3'
services:
a:
image: service_a
container_name: cont_a
build:
context: .
dockerfile: ./Dockerfile.a
b:
image: service_b
container_name: cont_b
build:
context: .
dockerfile: ./Dockerfile.b我可能会打下面的电话
docker-compose -f docker-compose.x.prod.yml -f docker-compose.x.dev.yml build我应该如何命名我的dockerignore文件?我需要以下哪一项?
Dockerfile.a.dockerignore
docker-compose.x.dockerignore
docker-compose.x.prod.dockerignore
docker-compose.x.dev.dockerignore发布于 2020-01-14 10:18:23
.dockerignore file必须位于context:目录中,并且必须准确命名为.dockerignore。docker build和docker-compose build: block都不能为它提供备用名称。在您的示例中,这两个服务将始终使用相同的.dockerignore文件。
这意味着任何一个服务所需的任何文件都不能在.dockerignore文件中列出。在实践中,这可能意味着您也不想盲目地COPY .到图像中,因为这将包含大量单个图像不需要的内容;您需要对COPY内容进行更多的选择。
发布于 2021-08-03 21:49:52
您可以有多个dockerignore文件。
通过命名约定,每个文件都与特定的dockerfile相关联。
例如,如果你有一个命名奇怪的文档文件,比如Dockerfile.test,创建一个名为Dockerfile.test.dockerignore的文档忽略文件。模式是dockerfilename + .dockerignore。通过docker build或docker-compose build构建该dockerfile文件,并使用命名为dockerignore的文件。
此功能是在Dockerv19.03中添加的-请参阅the release notes。
需要注意的是:我在OSX上运行的是Dockerv20.10.7--上面的方法对我来说运行得很好,但是一个标准命名的Dockerfile没有使用Dockerfile.dockerignore。似乎当使用标准dockerfile名称时,该模式不适用于...尽管发行说明建议此模式应该可以工作。
https://stackoverflow.com/questions/59726559
复制相似问题