将代码嵌入到 docker 容器中还是将其挂载为卷?

2024-01-21

我是 docker 的新用户,即将在生产环境中从虚拟机迁移到容器。 但后来,我突然意识到,最适合我的开发和质量保证环境的东西对于生产来说并不理想。

在我的 dev 和 qa 中,我将版本化项目文件夹安装到 python/php(命名它)容器中,并且我将此容器视为我的代码的“运行服务”。这使我不必拥有巨大的容器,因为当我更改代码(git commit 或其他)时,容器历史记录不会更改。

在生产中,理想的情况是我将拥有干净的独立容器,其中包含我的代码,而不是像在开发中那样安装。

那么,我是不是理解错了?你怎么做呢? 从开发到生产,您使用相同的容器吗?


我在我的开发环境中也做了同样的事情。我有一个生产 Dockerfile,它添加项目文件夹,然后针对它运行所有测试。由于开发容器和生产容器之间的唯一区别在于代码添加到容器的时间,而不是代码或设置,因此它们具有相同的行为。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将代码嵌入到 docker 容器中还是将其挂载为卷? 的相关文章

随机推荐

  • 识别评论用户并发送通知 Laravel

    我有一个帖子系统 在我的网站上 用户可以发布文章并对每篇文章发表评论 我想发布 当任何用户 不是帖子的作者 评论帖子时 我需要向帖子的作者发送通知 该帖子由 UserName 评论 我这样做 在 CommentController 中 我有
  • 使用 HTTP 和 REGEX 清除 Varnish

    我想使用 HTTP 清除清漆中的元素 这个http调用是从varnish本身后面的后端服务器触发的 因此后端服务器除了HTTP之外没有其他访问权限 我已经使用相应的 ACL 实施了以下清除规则 该规则适用于 curl X PURGE htt
  • 在 git 中管理本地更改我不想提交

    所以我有一些已更改的文件版本 这些都是非常个人化的更改 例如 为 javascript 构建关闭缩小功能 我永远不会提交 但我确实想让它保持开放状态 以便根据其他人的更改进行更新 目前 每次更新工作区时我都必须进行堆栈保存 这变得非常烦人
  • 可启动和跨平台应用程序并使用delphi或Pascal

    是否可以使用 Delphi 或 Pascal 创建可启动 MBR 应用程序 应用程序 我知道我们不能使用 vcl RTL 和其他东西 因为它们依赖于操作系统 但我可以至少使用 Readln 和 writeln 吗 如果是真的的话 我们可以在
  • 如何暂停/恢复视频录制

    我想在录制视频时实现暂停 恢复功能 MediaRecorder 没有任何暂停 恢复方法 本机相机应用程序具有暂停 恢复功能 可以实施吗 请指导我 任何帮助或指导将不胜感激 None
  • Azure Pipeline 使用 YAML 触发 Pipeline

    当使用 YAML 完成另一个管道时尝试触发 Azure 管道 有文档 https github com microsoft azure pipelines yaml blob master design pipeline resources
  • Android ListView 有两个按钮设置可见性问题

    I have Drag Sort Listview https github com bauerca drag sort listview与以下项目 1 文本视图2 两个按钮 ON和OFF 一次只有一个按钮可见 关闭状态的图像 http p
  • 是否可以在自定义组件中使用骆驼组件?

    我最近开始使用 Apache Camel 我们正在考虑创建自定义组件来抽象大量逻辑并简化路由 但其中一些逻辑涉及 http 请求和其他部分 这些部分具有我们想要利用的现有 Camel 组件 是否可以从我们的自定义组件的生产者中调用其他组件
  • 使用ajax调用Struts 2动作,直接向响应写入字符串,不返回字符串

    在 struts2 应用程序中 我调用 Ajax 请求并将字符串直接写入响应 如下所示并返回null在操作的执行方法中 ServeletActionContext getResponse getOutputStream print samp
  • 如何将逻辑运算符应用于Python列表中的所有元素

    我有一个 python 中的布尔值列表 我想对它们进行 与 或 或 或 非 并得到结果 下面的代码可以工作 但不太Pythonic def apply and alist if len alist gt 1 return alist 0 a
  • JSP 技巧让模板制作变得更容易?

    在工作中我的任务是转动一堆HTML文件转化为简单的JSP项目 它实际上都是静态的 没有可编程的服务器端逻辑 我应该提到我对 Java 完全陌生 JSP 文件似乎可以轻松地使用常见的包含和变量 就像PHP 但我想知道一种简单的方法来获得模板继
  • 是否可以通过 GitHub API 查明问题是否已通过拉取请求关闭

    I m using github script https github com marketplace actions github script for GitHub actions which allows you to easily
  • 如何在网络浏览器中以适当的比例显示 5 毫米网格?

    我正在创建一个用于显示心电图的 Web 应用程序 心电图通常是在 5 毫米方形网格上以固定比例 10 毫米 毫伏和 25 毫米 秒 绘制的 使用正确的尺寸非常重要 因为读者会将屏幕上看到的内容与可能仅存在于纸上的其他心电图进行比较 最推荐的
  • 生成 Markdown 表?

    有没有办法从对象 Python Ruby Java C 生成表 我想以编程方式创建一个简单的表 我有一些对象 我想将一些属性映射到标题 将集合映射到行 为什么是 Markdown 因为我想稍后手动编辑该文档 现在 整个过程是这样的 报告引擎
  • 如何使用 smack(java) 创建、发送和接收 iq 数据包

    我已连接到服务器 Xmpp 但无法在我的 psi 客户端发送和接收数据包 这是我的代码片段 POSClientIQ posclientiq new POSClientIQ posclientiq connectXMPPServer posc
  • 如何将我的 Google Analytics Web 应用程序转换为移动应用程序?

    我有一个移动应用程序 我应用了我的谷歌分析跟踪 ID 但是当我创建谷歌分析应用程序配置文件时 我最初选择网络应用程序而不是移动应用程序 在探索设置时 我找不到将其转换为移动应用程序的开关 我有超过 10 个具有不同谷歌分析跟踪 ID 的应用
  • 如何在 Angular 6 中导入 sass 文件

    我用 sass 创建了新的角度项目 并创建了名为 sass 的文件夹 其中包含一个名为 variables scss 的文件 在应用程序组件中 我尝试导入这样的变量 import variables 当我运行 ngserve 时出现以下错误
  • NHibernate QueryOver 带有子查询和别名

    我正在努力将以下 简化的 HQL 转换为 QueryOver select subscription from Subscription as subscription where not exists from Shipment as s
  • 在复制数据中丢失从源到接收器的数据

    在我的 MS Azure 数据工厂中 我有一个到嵌套 JSON 数据集的 REST API 连接 源 预览数据 显示所有数据 网上商店7个订单 在 活动复制数据 中 是菜单选项卡 映射 我在其中将 JSON 字段与接收器 SQL 表列进行映
  • 将代码嵌入到 docker 容器中还是将其挂载为卷?

    我是 docker 的新用户 即将在生产环境中从虚拟机迁移到容器 但后来 我突然意识到 最适合我的开发和质量保证环境的东西对于生产来说并不理想 在我的 dev 和 qa 中 我将版本化项目文件夹安装到 python php 命名它 容器中