gpt4 book ai didi

用于生产和开发的 Dockerfile 设置?

转载 作者:行者123 更新时间:2023-12-02 17:51:07 24 4
gpt4 key购买 nike

我想知道人们如何将 docker 用于生产和开发。在开发中,我想挂载我的源/构建文件,以便能够快速轻松地进行更改。对于生产,我想在图像中包含源/构建文件。

这通常是如何完成的,是否有最佳或更常见的做法?

在我看来,理想情况下我会有一个 Dockerfile 使用标志或环境变量之类的东西来设置 prod 或 dev 镜像,但我找不到任何这样做的人的例子,我不确定它到底是如何完成的.

我还看到了一些具有用于生产和开发的独特 Dockerfiles 的项目的粗略示例,但是存在维护单独 Dockerfiles 的问题,如果我们不小心,随着时间的推移可能会出现分歧。

这些都是明智的还是我可能误解了什么?我对 docker 比较陌生。使用类似设置的示例 Dockerfile 或项目会很棒。我担心在一开始就用不好的做法对我们的一些服务进行 dockerizing。

编辑:如果影响任何响应,我当前所有的应用程序都是基于 python 的。

最佳答案

一个好的方法是使用 Docker 的 multi-stage builds ,因为它们将允许您在包含开发依赖项的镜像中构建工件,并且仅在最终镜像中使用工件和运行时依赖项。

我通常建议不要为不同的环境使用不同的 Dockerfile,这通常应该使用配置参数来实现(环境变量是一个很好的解决方案)。

拥有更快的开发反馈周期在很大程度上取决于 IMO 所使用的语言。许多人将使用 IDE 以更经典的方式进行开发,并且仅构建用于集成测试等的镜像(例如,根据我的经验,Java 开发人员通常就是这种情况)。其他解释型语言可能确实从将您的源代码安装到开发环境镜像中获益。在这种情况下,您可以将此镜像合并到您的多阶段构建中。

关于用于生产和开发的 Dockerfile 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48116279/

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