我对Tomcat和Docker还很陌生--所以我可能在这个问题中遗漏了一个Tomcat基础知识。
我试图做的是构建一个Docker容器,该容器运行一个springboot Restful web服务,该服务只返回一些静态数据。这都是在OSX上运行的,所以我也使用了Boot2Docker。
我编写了自己的Dockerfile来构建我的应用程序运行的容器:
FROM tomcat:8.0.20-jre8
RUN mkdir /usr/local/tomcat/webapps/myapp
COPY /1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/myapp/
这个Dockerfile工作良好,并且我能够从创建的图像启动容器。
docker build -t myapp .
docker run -it --rm -p 8888:8080 myapp
这个容器正确启动,没有输出错误,并显示消息说我的应用程序已部署。
22-Mar-2015 23:07:21.217 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory
Deploying web application directory /usr/local/tomcat/webapps/myapp
容器还正确地将myapp.war复制到DockerFile中描述的路径。此外,我可以导航到Tomcat默认页面以确认Tomcat正在运行,我还可以点击所有示例,等等。
对于这个问题,当我导航到http://192.168.59.103:8888/myapp/getdata时,我得到一个404。我不知道为什么。我是不是漏了什么关于.war部署到tomcat的东西?
您正在尝试将war
文件复制到webapps
下面的目录中。应将war文件复制到webapps
目录中。
删除mkdir命令,并复制war
文件,如下所示:
COPY /1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.war /usr/local/tomcat/webapps/myapp.war
如果启用autodeploy
,Tomcat将提取war。
我使用docker-composing创建了一个Docker容器。在我的本地环境中,我能够毫无问题地启动我的应用程序。 现在,我想将所有docker容器部署到AWS EC2(ECS)。在阅读了ECS文档后,我发现我们可以使用相同的docker compose在ECS中使用ECS-CLI进行部署。但ECS-CLI目前不适用于windows实例。因此,现在我不知道如何使用docker compose使
问题内容: Docker新手在这里。 我已经设置了docker容器来运行一个简单的Node JS应用程序。 假设我有一个新版本的应用程序(例如 1.1 ),必须由Jenkins CI进行部署。在这里,我对Jenkins CI到底应该做什么应该有所了解: 应该关闭并删除旧容器( 1.0 )并启动新实例 1.1 吗? 要么 应该进入当前运行的容器并仅更新代码吗? 问题答案: 使用CI / CD工具(如
问题 是否有一种方法可以将本地计算机上的docker容器部署到CloudFoundry?如果没有,那么有什么方法可以安全地将容器寄存到CF的某个地方来获取它们呢? CloudFoundry是否能够运行作为Python烧瓶应用程序的docker容器?
问题内容: 我正在尝试部署使用docker-compose构建的应用程序,但是感觉好像我朝着完全错误的方向前进。 我的一切工作都在本地进行-通过适当的网络和主机启动我的应用程序。 我希望能够在生产机器上运行容器和网络的相同配置,而只是使用不同的文件。 我当前的工作流程如下所示: 在这一点上,我希望当它们到达那里时能够再次运行,但这试图根据文件重建容器。 我有一种明显的失落感。我是否应该通过完整的应
如何在docker容器中运行基于的测试用例? 我有一个简单的Spring Boot应用程序,它具有集成测试(组件级),使用与容器交互。测试用例正在破坏来自外部容器(本地机器)的罚款。 我们正在容器中运行所有内容,并且build正在docker jenkins映像上运行。Docker文件正在创建jar,然后创建image。找不到安装的docker。下面是我的docker文件。 处理这个案子最好的办法
问题内容: 我正在尝试完成有关如何在Azure域/环境中正确使用Windows容器的架构研究,其中我必须将Dot Net Core Web API应用程序容器化并将该容器部署到Azure容器服务中 这是我做的事情 我确实在Azure门户中创建了Azure容器服务帐户/域/虚拟机 此外,我确实使用已安装Docker的容器为Windows Server 2016创建了另一个虚拟机 在Windows S