我希望将我的spring mvc应用程序部署到docker。我用这个dockerfile创建了基于tomcat的图像:
Sub RenameSheet()
Dim wbname
wbname = Replace(ActiveWorkbook.Name, ".xlsx", "")
ActiveSheet.Select
ActiveSheet.Name = wbname
Range("A1").Select
End Sub
和我的其他控制人员:
FROM tomcat:8.5.31-jre8
ADD /target/my-app.war /usr/local/tomcat/webapps/
CMD ["catalina.sh", "run"]
EXPOSE 8080
当我使用我的IDE从本地Tomcat运行我的应用程序时,它可以工作,当我转到localhost时:8080我得到了控制器响应,但现在当我创建图像并运行它时,我去了localhost:8080在浏览器中我可以看tomcat主页,不是我的端点响应。你能告诉我我做错了吗?
这是我用来创建和运行图像的命令:
@RestController
@RequestMapping("")
public class IndexController {
@RequestMapping(path="", method = RequestMethod.GET)
public String[] findAll() {
return new String[] {"sdfsdsdf", "sfsdfsff", "fdsfsfsfdfffdsfsdf"};
}
}
和
docker build -t myapp .
我正在使用Win10。谢谢你的回答。
答案 0 :(得分:0)
您似乎正在将Web应用程序部署到本地tomcat中的根上下文路径。但是,docker镜像中的tomcat已经有一个部署到根上下文路径的欢迎页面应用程序。
您需要做的是删除此欢迎页面应用并将您的应用重命名为ROOT.war
,然后进行部署。
FROM tomcat:8.5.31-jre8
RUN rm -rvf /usr/local/tomcat/webapps/ROOT
ADD /target/my-app.war /usr/local/tomcat/webapps/ROOT.war
CMD ["catalina.sh", "run"]
EXPOSE 8080