首页 > 解决方案 > 无法使用 tomcat 在 docker 上运行 jax-rs 应用程序

问题描述

我是 Java 开发新手,正在开发一个 jax-rs 应用程序来创建安静的 web 服务。我的应用程序在本地安装的 tomcat 服务器上运行良好,我可以完美地构建和运行。

我想将应用程序 dockerize 以供开发使用,但似乎无法弄清楚这是如何工作的。我之前在 LAMP 堆栈上与 docker 一起工作过,并且在创建开发环境时没有遇到问题,但就是无法让我的应用程序正常工作。

这是我的 Dockerfile:

FROM tomcat:8.0.43-jre8
ADD "C:\\Users\\My Directory\\Documents\\Projects\\npmanager\\target" /usr/local/tomcat/webapps/
EXPOSE 8080
CMD chmod +x /usr/local/tomcat/bin/catalina.sh
CMD ["catalina.sh", "run"]

运行以下命令:

docker build -t mytomcat .
docker run -d -p 8888:8080 --name tomcat_cont mytomcat

当我去 docker 购买我的应用程序的本地路线时,我可以看到 tomcat 出现了。

我试图通过 ssh 进入 docker 容器并意识到 /usr/local/tomcat/webapps/ 没有我的本地文件。

这是我的 jax-rs 应用程序的样子:(尚未使用 docker-compose)

在此处输入图像描述

标签: javadockertomcatjax-rs

解决方案


ADD相对于构建的目录。看起来当你运行时docker build [...] .你在npmanager Maven Webapp目录中,所以你应该能够添加相对于的路径.

ADD target/ /usr/local/tomcat/webapps/

推荐阅读