Docker 1.9允许将参数传递给dockerfile.请参阅链接:https://docs.docker.com/engine/reference/builder/#arg
如何在docker-compose.yml中传递相同的参数?
如果可能的话,请提供一个例子.
现在可以将docker-compose v2 +作为build
对象的一部分来完成;
泊坞窗,compose.yml
version: '2' services: my_image_name: build: context: . #current dir as build context args: var1: 1 var2: c
请参阅docker撰写文档.
在上面的示例中,"var1"和"var2"将被发送到构建环境.
注意:与变量environment
具有相同名称的任何env变量(使用块指定args
)都将覆盖该变量.
现在docker-compose
支持变量替换.
Compose使用docker-compose
运行的shell环境中的变量值.例如,假设shell包含POSTGRES_VERSION=9.3
并且您在docker-compose.yml
文件中提供此配置:
db: image: "postgres:${POSTGRES_VERSION}"
docker-compose up
使用此配置运行时,Compose会POSTGRES_VERSION
在shell中查找环境变量并将其值替换为.对于此示例,Compose image
会postgres:9.3
在运行配置之前解析to .
此功能已在Compose 1.6中添加.
参考:https://docs.docker.com/compose/compose-file/#args
services: web: build: context: . args: FOO: foo