java - 无法使用 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)
解决方案
ADD
相对于构建的目录。看起来当你运行时docker build [...] .
你在npmanager Maven Webapp
目录中,所以你应该能够添加相对于的路径.
:
ADD target/ /usr/local/tomcat/webapps/
推荐阅读
- google-apps-script - 将谷歌表复制到特定文件夹
- c - 堆栈结构如何与函数内的复合语句一起使用?
- c# - 有没有办法将 maxOccurs 的值从“无界”设置为 WSDL 中数组/列表项上的特定数字?
- javascript - 在页面加载期间,CSS 动画持续时间在 Safari 中不起作用
- python - 如何从内部嵌套类中的另一个类调用静态变量
- java - 如何根据条件设置 Textview?
- angular - 如何在 Angular 2 或 > 子路由中的 URL 中保留斜杠?
- python - Pygelf - 如何发送具有“通知”严重性级别的日志
- android - 任务“:app:transformClassesWithFirebasePerformancePluginForRelease”失败
- python - 在 python 中读取 .CSV 并写入 .doc