【问题标题】:Tomcat Docker Container: host webapp directory mounted as container webapp directoryTomcat Docker Container:宿主 webapp 目录挂载为容器 webapp 目录
【发布时间】:2017-05-29 18:34:51
【问题描述】:

我正在尝试部署位于我的主机操作系统 (Windows 10) 中的 Java Web 应用程序,并且我想将提到的 webapp 作为目录安装在 Tomcat Docker Container 下(位置 /usr/local/tomcat/webapps/mywebapp)。

我正在 Docker 终端中运行以下命令(Windows 中我的 webapp 的绝对路径)。注意:“mywebapp”主机目录已经包含部署/未压缩的war。

docker run --name=tomcat_7_0_78 --detach --publish 8080:8080 -v /c/desarrollo/workspace/webMavenTest/target/mywebapp:/usr/local/tomcat/webapps/mywebapp tomcat:7.0.78

我可以看到 Tomcat 启动并且 webapps Container 文件夹中有几个默认的 webapp,包括“mywebapp”文件夹。问题是它是空的,所以 webapp 不能工作。

我想用它来将我在 Eclipse IDE 中的应用程序与 Docker 集成,并在我通过我的 IDE 进行更改时实现重新部署应用程序。

有什么见解吗?

提前致谢。

【问题讨论】:

    标签: eclipse tomcat docker docker-volume


    【解决方案1】:

    感谢您的宝贵时间和您的回答,非常有帮助,非常感谢。

    我希望有一种更简单的方法来集成它,但似乎没有直接的解决方案。

    顺便说一句,我发现为什么Tomcat Docker Container中的webapp目录总是空的,看来我的webapp主机路径(Windows)必须在我的用户目录下,比如/c/users/username /documents/....../eclipseWorkspace/mywebappProject/target/mywebapp.

    目前我认为我将启用远程调试,这样每当我修改 Java 类时我都会进行热代码替换,然后看看可以用其他类型的文件做什么。

    关于您在 maven 删除目标文件夹时提到的问题,我已经检查过如果我从 Eclipse 运行 maven clean(如您所说),webapp 是否已分离,但是如果我执行 maven 安装,它会再次出现在 Tomcat 中Docker Container,所以也许还不错。

    【讨论】:

      【解决方案2】:

      如果您想对每个文件更改进行热部署,那么使用远程应用程序服务器是不可能的。原因是eclipse没有控制tomcat进程来做。

      现在一种可能的解决方法是生成一个 web 应用程序,该应用程序为可交付成果的副本生成一个卷,以便在进行更改后您可以构建应用程序并再次安装 tomcat。

      应该是这样的:

      docker run --name = tomcat_7_0_78 --detach --publish 8080: 8080 -v /path/to/copy/war/app.war:/usr/local/tomcat/webapps/app.war tomcat: 7.0.78
      

      并且在您的主机中,您必须将项目外部的“战争”复制到应用程序的目标。这是必要的,因为当 maven 删除目标文件夹时,docker 卷被分离并且不会再次刷新。

      使用对保存操作执行挂钩的插件自动部署:

      How do I start Maven "compile" goal on save in Eclipse?

      我不推荐它,因为你一直在运行 maven,它会消耗很多 cpu。也许写一个本地脚本来做。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-10
        • 1970-01-01
        • 2014-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-10
        相关资源
        最近更新 更多