Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
开发人员通常如何在JavaMaven项目和AWSEC2中使用Docker?_Maven_Docker_Amazon Ec2_Continuous Integration_Devops - Fatal编程技术网

开发人员通常如何在JavaMaven项目和AWSEC2中使用Docker?

开发人员通常如何在JavaMaven项目和AWSEC2中使用Docker?,maven,docker,amazon-ec2,continuous-integration,devops,Maven,Docker,Amazon Ec2,Continuous Integration,Devops,我只有一个Java应用程序。我们在Eclipse中开发了这个应用程序。这是一个Maven项目。我们已经有了一个系统来启动我们在AWS EC2上的应用程序。它可以工作,但还很初级,我们希望了解其他团队用于将JavaMaven应用程序发布到EC2的更常见和更现代的方法。我们听说了Docker,我昨天研究了这个工具。我了解构建图像、标记图像以及推送Docker Hub或亚马逊ECS服务的基础知识。我还阅读了一些教程,介绍了如何将Docker映像拉入EC2实例。然而,我不知道这是否是我们正在尝试做的,因

我只有一个Java应用程序。我们在Eclipse中开发了这个应用程序。这是一个Maven项目。我们已经有了一个系统来启动我们在AWS EC2上的应用程序。它可以工作,但还很初级,我们希望了解其他团队用于将JavaMaven应用程序发布到EC2的更常见和更现代的方法。我们听说了Docker,我昨天研究了这个工具。我了解构建图像、标记图像以及推送Docker Hub或亚马逊ECS服务的基础知识。我还阅读了一些教程,介绍了如何将Docker映像拉入EC2实例。然而,我不知道这是否是我们正在尝试做的,因为我对Docker在我们的情况下可以扮演的角色有点困惑,因为Docker可以帮助我们的开发操作变得更加健壮和高效

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

启动一个EC2实例 将.jar工件从构建复制到此实例中 将实例添加到负载平衡器,然后 测试应用程序 我对如何使用Docker的理解如下。我们将根据中的步骤对应用程序进行Dockerize并将其推送到在线存储库 然后,我们将创建一个EC2实例,并根据中的步骤将Docker映像拉入这个新实例 如果这是典型的流程,那么在这里使用Docker的目的是什么?当我们目前

创建实例, 将应用程序直接部署到实例,并且 测试running应用程序
所有这些都使用来自AWS SDK for Java的简单Java文件和函数?

@GNG您的集装箱化目标是什么

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

@GNG您的集装箱化目标是什么

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

Docker映像是可移植的,完全可执行您的应用程序:它提供您的jar,但也可以包括属性文件、静态资源等。。。您可以打包所有需要的内容并部署到AWS,但也可以决定在其他平台或本地部署相同的映像


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

Docker映像是可移植的,完全可执行您的应用程序:它提供您的jar,但也可以包括属性文件、静态资源等。。。您可以打包所有需要的内容并部署到AWS,但也可以决定在其他平台或本地部署相同的映像


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

我注意到Nathaniel在这里的回答表明,当.jar已经非常可移植时,Docker是无关的。我注意到Nathaniel在这里的回答表明,当.jar已经非常可移植时,Docker是无关的。谢谢。我的目标是拥有一个易于维护和可靠的部署过程。我们的应用程序严格遵守AWS。使用docker还有其他好处吗?谢谢。我的目标是拥有一个易于维护和可靠的部署过程。我们的应用程序严格遵守AWS。我们使用docker还有其他好处吗?你有没有看到过更详细的有用链接?你有没有看到更详细的有用链接?