JAX-RS Rest 服务在 docker 中访问时出现 "HTTP Status 404 – Not Found" 错误 tomcat

JAX-RS Rest service giving "HTTP Status 404 – Not Found" error tomcat while accessing in docker

我在使用 docker 访问休息服务时遇到问题,因为 http://192.168.99.100:8080/rest/clients.I am getting HTTP Status 404 – Not Found. While without docker I have access the rest service like http://localhost:8080/rest/clients.Please 有人帮助解决了我的问题。

这是我的 docker-compose 文件,

version: '3'

services:  
  tomcat:
    container_name: tomcat_docker
    image: tomcat:latest
    environment:
      - TOMCAT_USERNAME=admin
      - TOMCAT_PASSWORD=secret
    ports:
      - 8080:8080
    volumes:
      - /docker/AW317/TaskmanagerDocker-03212018/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
      - /docker/AW317/TaskmanagerDocker-03212018/TaskManager.war:/usr/local/tomcat/webapps/TaskManager.war
    command: ["/usr/local/tomcat/bin/catalina.sh", "run"]
    links:
      - db:mysql
  db:
    container_name: mysql_docker
    image: mysql
    ports:
      - 53306:3306
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root

我试图覆盖 tomcat-users.xml 但无济于事。 任何人都可以在这个问题上帮助我吗?我错过了什么?

我刚刚使用卷路径覆盖 docker 中的 context.xml 文件,问题已解决,

<?xml version="1.0" encoding="UTF-8"?>
 <Context antiResourceLocking="true" privileged="true" >
 <!--<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />-->
</Context>

现在我可以访问休息服务了。

编辑:

您可以覆盖 docker-compose 文件中的 context.xml,如下所示,

volumes:
      - <path to docker whaere it is located>/context.xml:/usr/local/tomcat/webapps/manager/META-INF/context.xml

您可以将 context.xml 文件放在您的项目目录中。