是否可以在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开始,您可以在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

关于docker - 在docker-compose.yml中定义局部变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54078707/

10-16 17:26