【问题标题】:Docker For Development OnlyDocker 仅用于开发
【发布时间】:2018-02-18 00:15:49
【问题描述】:

我是一名 IT 主管,开发背景很少,因此对于这个幼稚的问题,我深表歉意。 目前,我们正在使用由 Oracle VM (OVM) 创建的在 Linux VM 中运行的 Weblogic 来托管我们的生产应用程序。

开发环境也使用相同的配置。

我们的开发人员建议我们在开发环境中使用 docker,并利用 DevOps 来提高开发的敏捷性。

这对我来说听起来是个好主意,但我仍然希望我们的生产在今天运行的相同配置上运行(Linux VM 中的 Weblogic 在 Oracle VM Hypervisor 上);我不想使用 docker 进行生产。

我一直在寻找如果没有运气,这是否可能。 如果您能提供帮助,我将不胜感激。 我有三个问题:

  • 这可能吗?
  • 在使用传统的非 docker 进行生产时,只运行 docker 进行开发是正常的做法吗?
  • 如果可能,实现这一目标的最佳方法是什么?

谢谢

【问题讨论】:

  • 可以通过将源代码挂钩到应用程序运行时容器,即在使用 Docker 时通过开发机器上的 -v 标志。
  • 您可以在我们的一位客户身上做到这一点,他们仍然在开发和测试中使用 docker,而在 Prod 中进行正常部署。这帮助测试人员和开发人员推出了一个非常定制的环境,将 20-30 个不同的微服务组合成一个
  • 这是一个相当广泛的问题,架构师需要一些时间才能正确描述如何完成。基本上,简短的回答是 1. 是的,2. 是的,但是专注于现代高效方法以节省时间和金钱的公司进行 PaaS 部署以通过环境生命周期简化映像,以及 3. 最容易通过容器数据中心软件(如 Docker Datacenter 或Mesophere 的 DC/OS。

标签: linux docker weblogic


【解决方案1】:

Docker 与 Linux 发行版无关。 Java 开发与 JEE 容器无关(如果您遵循 JSR 中定义的 Java 官方规范)。

因此,这就是为什么您应该在开发环境和生产环境之间具有相同行为的两个原因。当然,应该欢迎预生产环境来确保这是真的。并且在这样做之前不要避免查看内存和性能问题。此外,根据您使用 Weblogic 的原因,问问自己将在 docker 容器中运行哪个 JVM 和 JEE 容器。

  • 这可能吗?

是的,我们在我的组织中这样做,对于某些应用程序,使用 tomcat(而不是对于其他应用程序的 WebSphere)。

  • 在使用传统的非 docker 进行生产时只运行 docker 进行开发是一种正常的做法吗?

有很多实践,具体取决于组织目标、战略和敏捷程度。如今,使用 Docker 进行开发而不是生产是 Docker 容器的最常用案例,但下一个级别是在生产环境中使用 Docker 引擎。请参阅下一节:

-如果可能的话,实现这一目标的最佳做法是什么?

困难在于,在生产环境中,您需要一个用于自动部署、扩展和管理容器化应用程序的系统。

开发人员不需要这些。所以他们迁移到 Docker 真的很容易(而且这让他们比没有 Docker 更容易、更快地做事)。

在生产环境中,您应该真正考虑使用 KubernetesOpenShift,而不是像您的开发人员那样运行简单的 docker 引擎。但这比简单地将 Docker 安装在单个 Windows 或 Linux 主机上要复杂得多。

【讨论】:

    猜你喜欢
    • 2021-06-19
    • 1970-01-01
    • 2014-05-29
    • 2021-12-17
    • 2016-12-16
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    • 2015-04-29
    相关资源
    最近更新 更多