gpt4 book ai didi

docker - Docker多阶段构建:顺序

转载 作者:行者123 更新时间:2023-12-02 18:34:59 29 4
gpt4 key购买 nike

这是征求意见和要求的请求。我是Docker的新手。

我想要一个用于Python项目的生产和开发容器(可能也进行单元测试)。我的搜索指向多阶段Dockerfile(以及运行它们的多个docker-compose)。

我在该主题上发现的所有文章,评论和示例均以开发图像开头,并将其用作生产构建的FROM(有些在两者之间添加测试图像)。
这对我来说毫无意义。它涉及测试文件清理,删除开发/测试工具和软件包,从而跟踪安装每个软件包的原因。容易出错。

我们不应该首先从最小的“生产”设置开始吗?然后为开发镜像添加必要的调试工具和开发配置?

什么是正确的(准则?)做事方式,为什么?我想把事情弄干净。

提前致谢。 GG

最佳答案

我可以告诉您我的工作方式以及为什么对我来说这是更好的方式。

我在开发和生产方面没有不同的印象。我有一个基本镜像,该镜像基于alpine构建,具有最低限度的二进制文件和依赖项。我在Dockerfile中有一个简单的两阶段构建。

为了进行测试然后进行生产,需要配置CI / CD。当代码在prod分支中合并后,将使一个容器构建相同的Dockerfile。然后在运行所有测试用例后,将镜像使用最新标签推送到docker hub。此最终镜像现在可以部署了。

由于我使用相同的dockerfile进行开发和生产,并且在发布标签之前运行测试,因此将删除任何系统依赖项或诸如“它在我的系统上有效,而对您的系统不起作用”之类的东西。此外,具有两个阶段的构建可以帮助您创建具有优化构建时间的轻量级docker镜像。

关于docker - Docker多阶段构建:顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60981078/

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