我为在Docker容器中的tomcat服务器上运行而战。该servlet在eclipse中可以正常运行,但是当我对其进行编译时,将其放在Docker中并没有正确加载所需的类。
Project structure and manifest file
当我尝试使用浏览器访问servlet时,出现此错误。
我进入Docker容器并检查gurobi.jar是否仍在WEB-INF / lib /中。
我不知道为什么无法找到该jar,因为它在eclipse中工作正常。
docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
ports:
- '3306:3306'
environment:
MYSQL_DATABASE: 'projectdb'
MYSQL_USER: ''
MYSQL_PASSWORD: ''
MYSQL_ROOT_PASSWORD: ''
web:
build:
context: .
dockerfile: Dockerfile
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
- /var/run/docker.sock:/var/run/docker.sock
ports:
- "8000:8000"
depends_on:
- db
tomcat:
image: tomcat
ports:
- "8080:8080"
volumes:
- ./GurServ.war:/usr/local/tomcat/webapps/GurServ.war
java:
image: bitnami/java:latest
volumes:
- .:/app
- .:/code
Dockerfile
FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
COPY . /code/
EXPOSE 8000
CMD exec gunicorn djangoapp.wsgi:application - bind 0.0.0.0:8000 - workers 3
项目结构
...
Java Resources
src
...
WebContent
Meta-INF
MANIFEST.MF
WEB-INF
gurobi-javadoc.jar
gurobi.jar