首页 > 解决方案 > 为 java jersey 应用程序创建 docker 容器

问题描述

我已经被困在这个问题上一段时间了,在任何地方都找不到解决方案。我正在使用 jersey 框架编写一个 java rest 服务,maven 作为托管在 apache tomcat 上的包管理器。

该项目在本地运行良好。我想 dockerize 应用程序并且真的很挣扎。我已经启动并运行了 tomcat 容器,当我转到应用程序的根目录时,我可以看到我拥有的简单的 hello 文本。因此,当我走到http://xxx:8888/npmanager/这一点时,我看到了我的期望。

现在,当我尝试访问任何端点时,即https://xxx:8888/npmanager/api/XXX出现 500 错误:

使用资源和/或提供程序类检测到警告:严重:缺少字段依赖项:私有 org.glassfish.jersey.server.wadl.WadlApplicationContext org.glassfish.jersey.server.wadl.internal.WadlResource.wadlContext

码头文件:

FROM tomcat:8.5.38
ADD ./target/npmanager.war /usr/local/tomcat/webapps/
CMD chmod +x /usr/local/tomcat/bin/catalina.sh
CMD ["catalina.sh", "run"]

码头工人-compose.yml

version: '3'

services:

tomcat-dev:
  build: .
  environment:
    TOMCAT_USERNAME: root
    TOMCAT_PASSWORD: root
  ports:
    - "8888:8080"

mysql-dev:
  image: mysql:8.0.2
  environment:
    MYSQL_ROOT_PASSWORD: root
    MYSQL_DATABASE: npmanager
  volumes:
    - /mysql-data:/var/lib/mysql
  ports:
    - "3308:3306"

标签: javadockerjersey

解决方案


推荐阅读