是否可以在 docker-compose.yml 中定义局部变量?
例如这样的事情:
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
image: $APP_NAME
container_name: $APP_NAME
我可以定义
$APP_NAME
的值吗?同样在此 docker-compose.yml
文件?
最佳答案
从 docker-compose 文件版本 3.4 开始,您可以定义顶级 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
关于docker - 在 docker-compose.yml 中定义局部变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54078707/