在 docker-compose 中声明变量

Declaring variables in docker-compose

我想让我的应用程序知道它 运行 在哪个图像版本上。

我们的想法是将 Docker 图像标签作为环境变量传递到图像中。但是我不想一直更改图像行和 ENV 变量行中的版本号。

示例:

version: "3"

VERSION=0.2.3

services:
  app:
    image: myimage:$VERSION
    environment:        
       - APPLICATION_VERSION:$VERSION

是否可以声明变量以便一起更新所有值,或者是否有任何其他可用的解决方案?

您不能在 docker-compose.yml 中定义 $VERSION

您有两种选择:

  • .env 文件中定义它
  • 当您 运行 docker-compose 命令时作为命令行参数发送。例如VERSION=0.2.3 docker-compose up -d