【问题标题】:How do developers typically use Docker with a Java Maven project and AWS EC2?开发人员通常如何将 Docker 与 Java Maven 项目和 AWS EC2 一起使用?
【发布时间】:2020-01-08 04:36:31
【问题描述】:

我有一个 Java 应用程序。我们在 Eclipse 中开发了应用程序。这是一个 Maven 项目。我们已经有一个系统可以将我们的应用程序启动到 AWS EC2。它可以工作,但还很初级,我们想了解其他团队用来将 Java Maven 应用程序启动到 EC2 的更常见和现代的方法。我们听说过 Docker,昨天我研究了这个工具。我了解构建映像、标记映像并推送到 Docker Hub 或 Amazon 的 ECS 服务的基础知识。我还阅读了一些描述如何将 Docker 映像拉入 EC2 实例的教程。但是,我不知道这是否是我们正在尝试做的事情,因为我对 Docker 在我们的情况下可以发挥的作用以帮助我们的开发操作更加健壮和高效感到有些困惑。

目前,我们正在 Eclipse 中构建我们的 Maven 应用程序。构建完成后,我们运行第二个 Java 文件,该文件使用 AWS JDK for Java 来

  • 启动 EC2 实例
  • 将 .jar 工件从构建复制到此实例中
  • 将实例添加到负载平衡器并
  • 测试应用

我对如何使用 Docker 的理解如下。我们将根据this video. 中的步骤将我们的应用程序 Dockerize 并推送到在线存储库 然后我们将根据this tutorial.中的步骤创建一个EC2实例并将Docker镜像拉入这个新实例 如果这是典型的流程,那么这里使用 Docker 的目的是什么?什么是额外的好处,当我们目前...

  • 创建实例,
  • 将应用程序直接部署到实例,也
  • 测试正在运行的应用程序

全部使用 AWS SDK for Java 中的一个简单的 Java 文件和函数?

【问题讨论】:

标签: maven docker amazon-ec2 continuous-integration devops


【解决方案1】:

@GNG 你的容器化目标是什么?

如果您只想在 AWS 环境中操作,Amazon ECS 是最好的方法。 Docker 在混合环境(即物理服务器和虚拟机)中非常有效。

【讨论】:

  • 谢谢。我的目标是拥有一个易于维护和可靠的部署过程。我们的应用程序严格在 AWS 中。使用 docker 对我们还有其他好处吗?
【解决方案2】:

Docker 映像是您的应用程序的可移植且完整的可执行文件:它提供您的 jar,但它也可以包含属性文件、静态资源等...您将所需的一切打包并部署到 AWS,但您也可以决定在其他平台(或本地)上部署相同的图像。

另一个好处是映像包含整个运行时(操作系统、jdk),因此您不必依赖 AWS 提供的功能,从而确保与底层基础设施隔离。

【讨论】:

  • 您有没有找到任何有用的链接来更详细地解释这一点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-29
  • 1970-01-01
  • 1970-01-01
  • 2020-01-11
相关资源
最近更新 更多