Mysql Maven使用JavaEE应用程序运行docker映像
我有一个正在运行的JavaEE应用程序,它使用wildfly和mysql。现在我听说docker正在使用所有人,而且非常高效,所以我决定将我的开发环境docker化。听起来比现在容易 到目前为止,我所拥有的:Mysql Maven使用JavaEE应用程序运行docker映像,mysql,maven,docker,wildfly,Mysql,Maven,Docker,Wildfly,我有一个正在运行的JavaEE应用程序,它使用wildfly和mysql。现在我听说docker正在使用所有人,而且非常高效,所以我决定将我的开发环境docker化。听起来比现在容易 到目前为止,我所拥有的: Maven用于将我的应用程序打包到.war文件中 Arquillian单元测试,它在本地安装的wildfly实例上运行测试 我想要的是: 使用预定义的docker映像(jboss/wildfly,…)运行我的应用程序 也在docker容器中运行我的测试 我首先使用maven doc
- Maven用于将我的应用程序打包到.war文件中
- Arquillian单元测试,它在本地安装的wildfly实例上运行测试
- 使用预定义的docker映像(jboss/wildfly,…)运行我的应用程序
- 也在docker容器中运行我的测试
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<imageName>netbeans/sampleapplication</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.war</include>
</resource>
</resources>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</configuration>
</plugin>
Maven命令:清理包docker:build
。
我可以通过docker maschine url访问应用程序服务器,而不像以前使用localhost那样。
最后,我只想使用一个maven命令:
我真的很挣扎。安博迪有什么办法吗 没有直接的方法可以做到这一点,因为一些docker任务无法轻松映射到maven阶段。所以你需要选择一种更适合你的工作方式 因此,一些想法有望带来解决方案: spotify docker maven插件没有运行映像的mojo()。它的主要任务是创建和发布docker图像 因此,要运行映像,您只需编写一些bash脚本(因为它们很简单,它们将使用gitbash命令行在linux甚至windows上运行)。您可以使用 要正确地将其映射到maven生命周期就有点棘手了 与此相匹配的最佳阶段(仅我个人认为)是。该阶段包括集成前测试阶段、集成测试阶段和集成后测试阶段。想法是在预阶段启动容器。然后在集成测试阶段使用(不要让构建失败!)运行测试,并在后期阶段清理容器。在前期阶段清理该项目的容器也是一个好主意,以防一些僵尸容器粘在周围 这些步骤可以放在配置文件中。由于集成测试也需要集成测试阶段,因此最终将使用不同的概要文件(mvn verify&&mvn verify-P docker测试和&mvn-P docker其他测试)执行“maven verify” 另一种方法是使用。 这个插件比spotify创建的插件要复杂一点(同样:仅限我的意见)。但随之而来的是更多的目标 使用插件提供的
docker
,docker运行和停止目标为
这两个插件最终在pom.xml中都有类似的复杂性——只是它对fabric插件的阅读能力更强。但也有一些不错的
这就是我想到的两个选择。希望这会有所帮助:)没有直接的方法可以做到这一点,因为一些docker任务无法轻松映射到maven阶段。所以你需要选择一种更适合你的工作方式 因此,一些想法有望带来解决方案: spotify docker maven插件没有运行映像的mojo()。它的主要任务是创建和发布docker图像 因此,要运行映像,您只需编写一些bash脚本(因为它们很简单,它们将使用gitbash命令行在linux甚至windows上运行)。您可以使用 要正确地将其映射到maven生命周期就有点棘手了 与此相匹配的最佳阶段(仅我个人认为)是。该阶段包括集成前测试阶段、集成测试阶段和集成后测试阶段。想法是在预阶段启动容器。然后在集成测试阶段使用(不要让构建失败!)运行测试,并在后期阶段清理容器。在前期阶段清理该项目的容器也是一个好主意,以防一些僵尸容器粘在周围 这些步骤可以放在配置文件中。由于集成测试也需要集成测试阶段,因此最终将使用不同的概要文件(mvn verify&&mvn verify-P docker测试和&mvn-P docker其他测试)执行“maven verify” 另一种方法是使用。 这个插件比spotify创建的插件要复杂一点(同样:仅限我的意见)。但随之而来的是更多的目标 使用插件提供的
docker
,docker运行和停止目标为
这两个插件最终在pom.xml中都有类似的复杂性——只是它对fabric插件的阅读能力更强。但也有一些不错的
这就是我想到的两个选择。希望这会有所帮助:)除了直接使用JBoss Wildfly容器,您也可以签出。这是Wildfly的一个单独发行版,里面有更多关于docker的好东西 除了直接使用JBoss Wildfly容器之外,您还可以签出。这是Wildfly的一个单独发行版,里面有更多关于docker的好东西 我一定会看一看的!看起来很有希望。让我们看看它将如何与一个单独的数据库容器一起使用。我一定会看一看!看起来很有希望。让我们看看它将如何与单独的数据库容器一起使用。
FROM jboss/wildfly
COPY *.war /opt/jboss/wildfly/standalone/deployments/app.war
EXPOSE 8080 9990