我正在使用 docker-compose 在 payara 服务器上运行 java ee 应用程序,该应用程序似乎在本地正常工作。但是在部署时,它会在所有“/api”请求上给出 404。jsp 文件似乎工作正常。
@ApplicationPath("/api")
public class SimulationApplication extends Application {
}
有什么可能导致这种行为。我已经尝试重新启动服务器和 docker。并且服务器日志没有显示任何特别之处。它抛出的唯一异常是它无法将 domain.xml 备份到 domain.xml.bak。我试图在没有映射 domain.xml 的情况下启动它,但这不会修复 api。
码头工人组成
version: "2"
services:
java_ee:
container_name: 'java'
image: payara/server-full
ports:
- '8080:8080'
- '4848:4848'
links:
- 'db:db'
volumes:
- './payara/autodeploy:/opt/payara41/glassfish/domains/domain1/autodeploy'
- './payara/lib:/opt/payara41/glassfish/domains/domain1/lib'
environment:
JVM_OPTS: "-Xmx12g -Xms12g -XX:MaxPermSize=1024m"
angular:
container_name: 'angular'
image: nginx
ports:
- '80:80'
volumes:
- './angular:/usr/share/nginx/html'
db:
image: mysql
container_name: 'mysql'
command: mysqld --user=root --verbose
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: "Db"
MYSQL_USER: "user"
MYSQL_PASSWORD: "pass"
MYSQL_ROOT_PASSWORD: "pass"
MYSQL_ALLOW_EMPTY_PASSWORD: "no"
我不确定这是否更适合服务器故障,如果更适合我会在那里发布。