gpt4 book ai didi

docker - 在 dev、qa、uat 和生产中推广 docker 镜像的最佳实践

转载 作者:行者123 更新时间:2023-12-04 12:39:25 25 4
gpt4 key购买 nike

我们的应用程序已容器化并使用 码头群 作为协调者。我想了解我们如何将 docker 镜像从 dev、qa、uat 推广到生产。例如,如果我在 dev 中创建了一个图像 测试:10 (10 是 jenkins 生成的内部版本号)。如何将相同的图像推广到 qa、uat 和生产?我们目前正在使用 联通 作为 docker 存储库。我不明白的是我将如何提取在开发环境中使用的确切图像。有人能帮忙吗?

最佳答案

我刚刚写了一篇关于类似主题的博客文章。它特定于 Azure DevOps YAML 管道的自动化,但涵盖了图像提升概念。看看richminchuk.io .否则,您可以通过重新标记图像并推送来将图像从一个 docker 图像存储库提升到另一个:

docker build -t my-test .
docker tag my-test your-image-repository-dev/test:10
docker login "your-image-repository-url"
docker push your-image-repository-dev/test:10
# ... deploy/test your image in dev
docker pull your-image-repository-dev/test:10
docker tag your-image-repository-dev/test:10 \
your-image-repository-qa/test:10
docker push your-image-repository-qa/test:10

然后,您将在 QA docker 镜像存储库中拥有相同的镜像。这对于通过基本单元/功能/用户验收测试的图像来说是有意义的,这些测试与没有通过的图像不同!这里的关键概念是您重新标记和推送图像的时间。此外,为每个 docker 镜像存储库指定镜像拉取凭证可以帮助您限制可以实际用于特定环境的镜像。

上述策略的替代方案是,您可能没有单独的 docker 镜像存储库,并且可以选择更改镜像名称而不是存储库。在这种情况下,您可以执行以下操作。
docker build -t my-test .
docker tag my-test your-image-repository/test:10
docker login "your-image-repository-url"
docker push your-image-repository/test:10
# ... deploy/test your image in dev
docker pull your-image-repository/test:10
docker tag your-image-repository/test:10 \
your-image-repository/test-qa:10
docker push your-image-repository/test-qa:10

关于docker - 在 dev、qa、uat 和生产中推广 docker 镜像的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48914389/

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