Docker仅用于开发

我是一名IT主pipe,并且有很less的开发背景,所以我对这个天真的问题表示歉意。 目前,我们正在使用Weblogic,运行在由Oracle VM(OVM)创build的Linux VM中,以托pipe我们的生产应用程序。

开发环境也使用相同的configuration。

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

这听起来对我来说是一个好主意,但是我仍然希望我们的产品能够运行在今天运行的相同configuration上(Linux虚拟机上的Weblogic over Oracle VM Hypervisor)。 我不想使用docker进行生产。

我一直在寻找,如果这是可能的,没有运气。 如果你能帮到,我将不胜感激。 我有三个问题:

  • 那可能吗?
  • 这是一个正常的做法,只有在使用传统的nondocker进行生产时才运行docker进行开发?
  • 如果可能的话,那么最好的办法是什么?

谢谢

Docker是linux distro-agnostic。 Java开发是JEE容器不可知的(如果你遵循JSR中定义的Java官方规范)。

所以,这就是为什么你的开发者环境和生产环境之间应该有相同的行为的两个原因。 当然,应该欢迎预生产环境确保这是事实。 在做这件事之前,不要回避记忆和表演的问题。 而且,根据你使用Weblogic的原因,问问你自己可以在Docker容器中运行哪个JVM和JEE容器。

  • 那可能吗 ?

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

  • 运行docker进行开发的正常实践只有在使用传统的无docker进行生产的时候?

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

如果有可能,那么最好的做法是什么?

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

开发人员不需要这些。 所以他们很容易迁移到Docker(并且它可以让他们的工作比没有Docker更容易,更快速)。

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