使用Docker设置Java开发环境

最近几天我花了很多时间挖掘docker。 我对开发环境的可能性印象深刻,可能与生产环境相同!

目前我想从小处着手,并开始加强发展进程。 我们正在开发部署在tomcat上的Java应用程序。 开发人员正在使用像Eclipse和IntelliJ这样的IDE。

在开发过程中,您可以在IDE中configurationtomcat环境,以便自动部署和debugging代码。 因此,tomcat的基本目录必须可用来设置。

目前我有一个docker debian镜像,在/ opt / tomcat上安装tomcat。

我现在希望能够将container / opt / tomcat目录的内容链接到我的主机中的一个目录。 可悲的是,function似乎并不存在。 使用-v选项,您只能在容器中挂载主机目录,而不能以其他方式挂载。

目前我看到的唯一的解决scheme是挂载容器的webapps目录,并把我的war文件放在这里,这在我看来是非常不利的。

你必须手动启动/重新启动你的tomcat,只有远程debugging是可能的,你的IDE控制台里没有你的日志。

那么,有没有人有任何想法优化使用Docker的Java Web应用程序开发的开发工作stream?

我看到一个正在讨论doclipser(Eclipse + Docker)的博客 。

在博客中,主要是在post的底部,它提到了以下工具:

  • doclipser
  • Exlipse Docker工具(EDT)
  • domeide.github.io
  • 崇高的docker工人
  • IntelliJ IDEA 14.1
  • Eclipse JBoss工具
  • Docker的Visual Studio 2015 RC工具 – 截至2015年 9月17日,这个插件还没有发布。 但是你应该可以预览扩展。

希望这可以帮助 :)

您可能必须在同一个容器中运行Eclipse和Tomcat,但是我一定会试着让它们先在两个独立的容器中运行。 也许从这个基本映像开始,并尝试使用共享卷将其链接到Tomcat映像。

如果我正确理解你的问题,为什么不使用-v选项来挂载war文件本身。 这对我使用wild worked很有帮助。

基本上,我使用maven构build战争,并将target/myapp.war映射到/opt/wildfly/myapp.war 。 然后,每次我在应用程序中进行更改时,我都会运行mvn clean package和app容器,看到战争已经改变,重新部署。

现在,这是利用萤火虫的部署扫描器,但仍然可以为tomcat工作。 如果不是的话,也许你可以运行一个爆炸战争的tomcat,然后将build文件夹target / myapp加载到tomcat上的webapps文件夹中。