我有一个使用 Spring Framework + AngularJs 前端的工作应用程序。
我之前确实通过将 mvn package
打包到 .war 文件中来将其部署在亚马逊 AWS 上。
现在我需要在本地 docker 中设置一个 linux 环境来调试一些附加功能(使用 Windows 作为主要操作系统),并且最好在将来部署这个 docker 容器。
我确实看过一些关于 Docker 化 Spring Boot 应用程序的文章。
这是来自 spring.io
的示例 dockerfile
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
我的问题是 - 如何在 docker 容器上运行我的 .war 文件?
最佳答案
如果您希望在本地 Linux 计算机上运行此应用程序,则可以在 WAR 文件所在的同一目录中创建此 Dockerfile。
FROM tomcat:8.0.21-jre8
RUN [“rm”, “-rf”, “/usr/local/tomcat/webapps/ROOT”]
COPY dbconnect.war /usr/local/tomcat/webapps/ROOT.war
CMD [“catalina.sh”, “run”]
然后您可以构建 Docker 镜像并提供自定义标签:
docker build -t <your-username>/tomcat-example:latest .
最后你可以运行这个容器了。
docker run -p 8080:8080 -d --name tomcat <your-username>/tomcat-example:latest
如果需要使用数据库或 Web 服务器运行此应用程序,您可以在此处查看这些详细示例。
关于java - Docker 化 Spring 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39362826/