如何使用(简短)git commit哈希标记Docker Compose文件中的图像版本

时间:2019-01-14 13:37:12

标签: git docker docker-compose dockerfile docker-image

来自official Docker Compose build doc

  

如果您同时指定了图像和构建,则Compose将使用图像中指定的webapp和可选标签来命名构建的图像:

示例:

build: 
   ...
image: myapp:tag

但是我想用tag的输出替换git rev-parse --short HEAD

理想情况下,我需要类似的东西:

image: myapp:$(git rev-parse --short HEAD)

1 个答案:

答案 0 :(得分:0)

build ARGS部分说明了jonrsharpecomment

您需要先设置一个环境变量,然后在您的docker-compose.yml中声明ARGS

ARG commit
...
image: "myapp:${commit}"

另请参见“ variable substitution”和“ The “env_file” configuration option

您的配置选项可以包含环境变量。
Compose使用运行docker-compose的shell环境中的变量值。

使用docker/compose issue 4081排除了直接在docker-compose.yml文件中运行命令的任何希望。