docker - docker-compose dockerignore 的命名空间
问题描述
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.yml
docker-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
解决方案
该.dockerignore
文件必须在context:
目录中,并且必须准确命名.dockerignore
。docker -compose块docker build
都没有能力为其提供替代名称。在您的示例中,两个服务将始终使用相同的文件。build:
.dockerignore
这意味着不能在文件中列出任何一项服务所需的任何.dockerignore
文件。在实践中,这可能意味着您也不想盲目地COPY .
进入图像,因为这将包含相当多的单个图像不需要的内容;您将需要对您所COPY
从事的工作更具选择性。
推荐阅读
- node.js - 如何将 POST 请求发送到 Firebase 函数
- python - numpy 数组操作:为什么 numpy 数组的地址与拼接后其子集的地址不同
- version-control - SONAME 库的版本控制最佳实践
- python - 如何从嵌入式 plot.ly 图表中提取数据
- git - 错误:gpg 无法对数据进行致命签名。无法写入提交对象
- java - Lambda 表达式的烟灰调用图
- javascript - React 单元测试 React 传奇
- excel - 从不同的工作表中读取列标题,略有差异
- java - 如何通过命令行创建 jar 文件?
- reactjs - webpack v4 包不引用 .js.gz 块