来自official Docker Compose build doc:
如果您同时指定了图像和构建,则Compose将使用图像中指定的webapp和可选标签来命名构建的图像:
示例:
build:
...
image: myapp:tag
但是我想用tag
的输出替换git rev-parse --short HEAD
。
理想情况下,我需要类似的东西:
image: myapp:$(git rev-parse --short HEAD)
答案 0 :(得分:0)
build ARGS
部分说明了jonrsharpe的comment
您需要先设置一个环境变量,然后在您的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
文件中运行命令的任何希望。