是否可以在docker-compose.yml中定义局部变量?
例如这样的东西:
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
image: $APP_NAME
container_name: $APP_NAME
我可以在同一$APP_NAME
文件中定义docker-compose.yml
的值吗?
答案 0 :(得分:1)
从docker-compose文件版本3.4开始,您可以在compose文件中定义顶级x-
前缀部分。它将被解析为有效的yml,但是在创建服务,网络,卷等时被compose忽略。
version: '3.4'
x-var: &APP_NAME
myimage
services:
app:
build:
context: .
dockerfile: Dockerfile
image: *APP_NAME
container_name: *APP_NAME
您甚至可以使用此功能来定义“对象”,例如:
x-common: &common
image: ${REGISTRY_URL}img:latest
services:
master:
<<: *common