java - Docker 化 Spring 应用程序

标签 java spring maven docker dockerfile

我有一个使用 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 服务器运行此应用程序,您可以在此处查看这些详细示例。

https://github.com/dchqinc/dchq-docker-java-example

https://dzone.com/refcardz/java-containerization

关于java - Docker 化 Spring 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39362826/

相关文章:

Java:子例程和方法有什么区别?

java - 如何更改错误无法调用 Tomcat 管理器 : Server returned HTTP response code: 403

spring - 如何解决 Spring Boot Post 请求中的 403 错误

java - 让 maven clean install 像 maven clean + maven install 一样工作

java - 创建我自己的 String 类/子字符串方法

Java Spring Boot应用程序获得不同的系统时间

java - Netbeans Spring 4.0 需要 GET 和 POST

java - Flink Avro 1.8.1 在集群上运行时出现 NoSuchMethodError

Maven 从父项目部署

java - 为什么我的板没有以与 2D 数组相同的方向渲染