首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于环境版本控制的Docker映像存储库名称或标记

用于环境版本控制的Docker映像存储库名称或标记
EN

Stack Overflow用户
提问于 2020-11-11 20:53:04
回答 1查看 172关注 0票数 0

我希望得到一些关于创建Docker镜像以在多个环境中部署的最佳方法的建议。假设我们有3个环境- DEV、UAT和PRD,是否最好将映像命名为相应的版本标签,即

代码语言:javascript
复制
my-service-dev:release-10
my-service-uat:release-8
my-service-prd:release-6

或者保持存储库不变,但使用标记:

代码语言:javascript
复制
my-service:dev-release-10
my-service:uat-release-8
my-service:prd-release-6

我们正在使用竹子作为构建/部署管道,因此可以很容易地添加构建/发布变量。

任何建议都非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-11 21:27:38

通常,您应该在所有环境中使用相同的映像,以便在将映像推送到生产环境时,您运行的代码与在测试环境中运行的代码完全相同。您也不需要在标签中使用"release“这样的文本,如果您查看标准的Docker Hub图像,则标签通常只是一个数字。

代码语言:javascript
复制
my-service:10

如果您的CI系统可以生成连续的版本号,那么这些构建号就可以很好地工作。如果开发人员自己构建测试映像,使用时间戳或源代码控制提交ID可能更方便。

代码语言:javascript
复制
my-service:20201111
my-service:g52fc7a0

如果你真的需要在不同的环境中构建不同的版本,标准的Docker Hub镜像会在标签中对细节进行编码。例如,python有变种python:3.9-alpinepython:3.9-buster (Debian)。通常,顶级镜像名称是注册表中的一个“单位”;您可能需要使用Terraform之类的工具在AWS ECR中创建新的镜像名称,但是一旦镜像名称存在,您可以任意推送多个标记。

代码语言:javascript
复制
my-service:10-test
my-service:11-prod
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64786823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档