zoukankan      html  css  js  c++  java
  • spring boot项目生成docker镜像并完成容器部署

    把spring boot项目生成的jar打成docker镜像并生成docker容器完成部署是比较简单方便的部署方式,而且部署过程很少会出错。

    部署步骤

    1.利用maven或者gradle完成打包工作,打成jar包的形式。

    2.在项目中的任意位置创建Dockerfile文件,本人的文件如下:

    FROM java:8
    VOLUME /tmp/backend
    ADD gams2_house.war-1.0.0-SNAPSHOT.war gams2_house.jar
    RUN bash -c 'touch /gams2_house'
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","gams2_house.jar","--spring.config.location=/data/config/ymls/backend/application.yml"]

    FROM java:8      是指含有jdk1.8的镜像

    VOLUE /tmp   目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp/backend 作为工作目录

    ADD gams2_house.war-1.0.0-SNAPSHOT.war gams2_house.jar     添加自己的项目到到gams2_house.jar 中,注意:这里的包名要和pom文件中的包名一致。

    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/gams2_house.jar","--spring.config.location=/data/config/ymls/backend/application.yml"]        ENTRYPOINT是指容器运行后默认执行的命令,指定yml配置文件。

    3.上传自己的项目和Dockerfile文件到虚拟机,可以放在同一个目录下面

    4.创建自己的镜像

     docker build -t gams2_house:1.0-SNAPSHOT .   注意后面是有个点!

     显示创建成功,查看下镜像。

      

    现在镜像就创建成功了。

    5.生成docker容器

     docker run -d -p 8080:8080 --name gams2_house gams2_house:1.0-SNAPSHOT

    -d:后台运行容器

    -p 8080:8080 宿主机的端口和docker容器中的端口做映射

    gams2_house 自定义的容器名称

    gams2_house:1.0-SNAPSHOT镜像名称和对应版本,如果没有指定版本,默认会去寻找lastest版本。

     生成了容器的id,docker ps -a查看是否存在gams2_house容器。

    portainer也能看到生成了相应的容器和运行情况

     生成了容器,

  • 相关阅读:
    poj 2584 T-Shirt Gumbo (二分匹配)
    hdu 1757 A Simple Math Problem (乘法矩阵)
    矩阵之矩阵乘法(转载)
    poj 2239 Selecting Courses (二分匹配)
    hdu 3661 Assignments (贪心)
    hdu 1348 Wall (凸包)
    poj 2060 Taxi Cab Scheme (二分匹配)
    hdu 2202 最大三角形 (凸包)
    hdu 1577 WisKey的眼神 (数学几何)
    poj 1719 Shooting Contest (二分匹配)
  • 原文地址:https://www.cnblogs.com/xiangpeng/p/14102816.html
Copyright © 2011-2022 走看看