gpt4 book ai didi

docker - 如何在 docker-compose 中使用多个图像标签

转载 作者:IT老高 更新时间:2023-10-28 21:19:38 28 4
gpt4 key购买 nike

根据thisthis GitHub 问题,目前在使用 docker-compose 构建一个或多个图像时,没有原生方式如何为服务的图像提供多个标签。

我的用例是构建在 docker-compose.yml 文件中定义的图像,并使用一些自定义标签(例如一些构建编号或日期或类似标签)标记它们一次作为最新的

虽然这可以通过使用 docker tag 的普通 docker 轻松实现, docker-compose 只允许在 image key 中设置一个标签.将 docker tagdocker-compose 一起使用对我来说不是一个选择,因为我想将所有与 docker 相关的定义保留在 docker-compose.yml 文件,而不是将它们复制到我的构建脚本中。

docker-compose 实现多个标签的设置,而不必先硬编码/复制图像名称,什么是体面的解决方法?

最佳答案

我有一些使用环境变量的漂亮而干净的解决方案(默认变量值的 bash 语法,在我的情况下它是 latest 但你可以使用任何东西),这是我的作文:

version: '3'
services:
app:
build: .
image: myapp-name:${version:-latest}

使用默认标签构建和推送(如果需要推送到注册表),使用环境变量更改版本并再次构建和推送:

docker-compose build
docker-compose push
export version=0.0.1
docker-compose build
docker-compose push

关于docker - 如何在 docker-compose 中使用多个图像标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47327979/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com