我无法从docker compose启动Tomcat服务器。
当我使用docker exec -it <container id> bash
登录到容器并看到ps -eaf | grep "tomcat"
时,它显示为空。 Tomcat服务器未运行。
docker-compose.yml
文件:
version: "3"
services:
meghcore:
build: ./Core
container_name: 'meghcore'
expose:
- '8080'
ports:
- '8080:8080'
volumes:
- meghcore:/opt/Tomcat1/webapps/
command: /bin/bash
tty: true
stdin_open: true
networks:
- meghnet
volumes:
meghcore:
networks:
meghnet:
driver: bridge
Dockerfile
文件:
FROM tomcat:8.5.35
WORKDIR /app
COPY . /app
RUN mv /app/*.war /opt/Tomcat1/webapps/
ENV PATH $PATH:/opt/Tomcat1/bin
WORKDIR /opt/Tomcat1/bin
EXPOSE 8080
CMD ["catalina.sh", "run"]
docker-compose.yml
为version: "3"
services:
meghcore:
build: ./Core
ports:
- '8080:8080'
您列出的其他选项都不是必需的。如果文件中列出了其他容器,它们仍然可以使用Docker Compose服务名称进行通信,而无需进行任何特殊设置(同一文件中的另一个容器可以成功调用http://meghcore:8080
)。
command
,从docker-compose.yml中删除command
ENV PATH $PATH:$JAVA_HOME/bin
ENV PATH $PATH:/opt/Tomcat1/bin
WORKDIR /opt/Tomcat1/bin
EXPOSE 8080
CMD ["catalina.sh", "run"]