我试图在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"
我可以看到npmanager。war
文件,但我无法访问我的应用程序。我的本地主机仍然显示tomcat页面,而不是从本地安装的tomcat运行时看到的“Hello,World”。
在Tomcat上部署战争文件有什么遗漏吗?
好吧,我终于成功了。我想在这里发布这个答案,如果它能帮助其他人,但老实说,我不确定我是否完全理解它。
我必须为tomcat图像创建一个单独的Dockerfile:
FROM tomcat:8.5.38
ADD ./target/npmanager.war /usr/local/tomcat/webapps/
CMD chmod +x /usr/local/tomcat/bin/catalina.sh
CMD ["catalina.sh", "run"]
然后在docker compose中创建该图像。yml
version: '3'
services:
tomcat-dev:
build: .
environment:
TOMCAT_USERNAME: root
TOMCAT_PASSWORD: root
ports:
- "8888:8080"
mysql-dev:
image: mysql:8.0.2
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: npmanager
volumes:
- /mysql-data:/var/lib/mysql
ports:
- "3308:3306"
我正在尝试部署一个java api,它基本上带有。docker容器中的war fie inside/tomcat/webapps/directory。我能够复制这本书。位于其中的Artifactory中的war文件。现在docker容器中的tomcat结构是:tomcat/webapps/api。war 问题是,在我将war文件复制到那里之后,我不知道java和tomcat是如何工作的,以便war
我尝试将这个项目部署到AWS弹性豆茎:https://github.com/coralproject/talk,dockerfile公开端口5000,我也定义了环境变量,所有这些变量都使用端口5000。 可能相关的日志: /var/log/eb-activity.log cat://var/app/current/dockerrun.aws.json:没有这样的文件或目录8C17e6ddb0f84
我将我们的web应用程序移动到docker compose部署(Django、DRF、AngularJS)。 Docker现在看起来很稳定,一切都很顺利。 我想: 与您确认,我正在遵循有关应用程序配置文件的最佳做法 知道“卷文件”是否实际上是绑定装载,这是不推荐的 我已经设法使用环境变量和docker-comment秘密读取从Django文件,它的工作原理。缺点是环境变量仅限于简单的字符串,在发送
我已经准备好了我的新Liferay网站,并试图在真实环境中进行测试。我刚刚成功地在服务器上安装了Tomcat Liferay捆绑包,并复制了。根据一些论坛和评论的指示,将war文件放入tomcat旁边的部署目录;但在访问URL后,我仍然会看到默认的Liferay页面,我的页面不会被显示。我在这里做错了什么? 提前谢谢!
我正在尝试将Mongo作为容器组的一部分部署到Azure容器实例上。为此,我使用一个带有文件共享的存储帐户来持久化mongo数据。无法将卷装载到默认位置,因此我将其装载到其他位置,并使用--db path标记启动mongod。使用下面的CLI full命令,这一切都可以正常工作。 然而,当我想将所有这些命令转换为YAML配置文件时,它就不起作用了。Mongo崩溃,出现未知文件或目录错误。如果在没有
来自。NET和Node的我真的很难弄清楚如何将这个阻塞的MVC控制器转移到一个非阻塞的WebFlux注释控制器?我已经理解了这些概念,但是没有找到合适的异步Java IO方法(我希望返回一个Flux或Mono)。