我想在Docker容器上运行我的Java应用程序。我在本地使用了一个tomcat服务器,它工作得很好。我是java/tomcat/docker的新手,所以我可能会错过一些东西,一些非常简单的东西,但我认为只要将本地war文件指向/usr/local/tomcat/webapps
就足够了。
这是我的docker-compose.yml
tomcat-dev:
image: tomcat:8.5.38
environment:
- TOMCAT_USERNAME=root
- TOMCAT_PASSWORD=root
ports:
- "8888:8080"
volumes:
- /target/npmanager.war:/usr/local/tomcat/webapps/npmanager.war
mysql-dev:
image: mysql:8.0.2
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: npmanagercd
volumes:
- /mysql-data:/var/lib/mysql
ports:
- "3308:3306"
我可以在webapps目录中看到npmanager.war
文件,但无法访问我的应用。我的本地主机仍然显示tomcat页面,而不是我从本地安装的tomcat运行它时看到的“Hello,World”。
关于在tomcat上部署war文件,我是否遗漏了什么?
1条答案
按热度按时间y3bcpkx11#
好吧,我终于修好了。我想把这个答案贴在这里,如果它能帮助其他人的话,但老实说,我不确定我是否完全理解它。
我必须为tomcat镜像创建一个单独的Dockerfile:
然后在docker-compose.yml中构建该映像