docker - 在 docker-compose.yml 中定义局部变量?

标签 docker docker-compose

是否可以在 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/

相关文章:

.NET Core SDK 与 Docker 的运行时版本

node.js - axios post套接字仅在docker中挂起

containers - 无法设置LVM时的快照选项

php - Docker-Compose 使用 PHP (MySQLi) 连接 MySQL 数据库

mongodb - 如何使用 docker-compose 连接到 mongodb?

docker-compose 未检测到本地镜像

hadoop - Spark : Connection refused webapp proxy on yarn

docker - 跑了docker容器 `--restart always`重新启动服务器,容器/镜像未重新启动

php - Docker-compose up : Error while fetching server API version: ('Connection aborted.' , ConnectionRefusedError(61, 'Connection refused' ))

scala - SBT 项目未使用 docker-compose 安装到 Docker 容器