docker - 在 docker-compose yml 中重用变量

标签 docker docker-compose

有两篇文章描述了使用环境变量,但我的用例不同。

我有 docker-compose 文件,其中有 3-7 个容器。视情况而定。

version: '2'

services:
  db:
    image: example/db
  backend:
    image: example/server
  frontend:
    image: example/gui

现在,在上面的示例中,我所有的图像都将使用最新版本,但我想控制要部署的版本,因此我想定义一些可变版本并在我的所有图像中使用它,例如:

version: '2'

variable version=1.0.1

services:
  db:
    image: example/db:$version
  backend:
    image: example/server:$version
  frontend:
    image: example/gui:$version

第二个例子是错误的,但它表明了我需要我想要实现的目标

最佳答案

在与 docker-compose.yml 相同的目录中添加一个名为 .env 的环境文件,然后指定您的环境变量。

enter image description here

之后,将变量添加到您的 docker-compose.yml

enter image description here

${..}代表.env中的一个变量

关于docker - 在 docker-compose yml 中重用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56955878/

相关文章:

php - 为什么尽管在镜像构建期间通过 "drush"安装了 `composer global install`,但我无法从正在运行的 PHP 脚本中找到该工具?

docker - 如何在docker-compose中使用healthcheck重新启动容器?

networking - 尝试连接到自身时,带有 Docker 的 Centos VM 无法访问主机

docker - super 账本结构 : Understanding Docker Containers

docker - golang 程序在 docker 之外运行良好,但在 dockerized 时以 0 退出

php - 无法从 php 访问 localstack s3

Docker 撰写错误 : invalid reference format: repository name must be lowercase

php - 如何处理来自 docker 的卷内的权限?

django - Docker compose 文件所有权

docker - Traefik无法通过Route 53获取Acme证书