zoukankan      html  css  js  c++  java
  • Docker将SpringBoot打成的jar包在docker环境中打包成镜像

    1.我的场景

      我开发了一个自己的博客项目,发现每次上传jar包执行java -jar 这个命令启动这个项目很麻烦,我又不想写脚本;我的数据库什么的等其他环境都是使用docker来安装的,发现 docker安装 我需要的开发环境真的很方便,都是别人做好的镜像,直接pull拉下来就好;然后启动镜像的时候做好端口映射以及安装目录的映射就好了,后面启动镜像很方便只需要docker start +容器id就好了,好了不多说,我们现在就开始打包spingboot项目吧。 

    2.打包springboot项目

    执行mvn package 命令,将项目使用maven打成jar包如下图:

    3.DockerFile配置内容

    FROM java:8-alpine
    ADD my-blog-4.0.0-SNAPSHOT.jar app.jar
    EXPOSE 28083
    ENTRYPOINT ["java","-jar","/app.jar"]

    第一行 需要java8环境的支持
    第二行 my-blog-4.0.0-SNAPSHOT.jar为你SpringBoot打包最终的成包名称,别名为app.jar
    第三行 容器对外映射的端口
    第四行,ENTRYPOINT 执行项目 app.jar

    4.将前面第二步打好的jar包和第三步编辑好的DockerFile文件上传至服务器(需在同一目录下)

    这边笔者的docker不是装在本机的,所以需要将这两个文件上传至服务器,如果你在本机有docker环境那么只需要放在一个目录下直接构建就可以了呢。

    5.构建docker镜像

    在存放jar包和DockerFile的目录下执行下面的命令,注意后面 有个小点不能少

    docker build -t my-blog .

    运行成功后如下图:

    看到上图 后就说明您的springboot项目打包成 docker镜像成功了,这个时候执行下面的命令可以查看你的 镜像:

    docker images

    看到这个的 时候,就说明我们的springboot jar包已经挂载了,下面就可以开始运行你的容器了:

    6.启动容器

    docker run -d -p 28083:28083 my-blog

    -p这个属性我这边详细说一下: 28083:28083的意思是将我宿主机的28083端口映射到容易端口28083,我在前面已经配置过这个端口了

    看到如下返回一串id就代表容器启动成功啦

  • 相关阅读:
    POJ-1189 钉子和小球(动态规划)
    POJ-1191-棋盘分割(动态规划)
    Java实现 LeetCode 730 统计不同回文子字符串(动态规划)
    Java实现 LeetCode 730 统计不同回文子字符串(动态规划)
    Java实现 LeetCode 729 我的日程安排表 I(二叉树)
    Java实现 LeetCode 729 我的日程安排表 I(二叉树)
    Java实现 LeetCode 729 我的日程安排表 I(二叉树)
    Java实现 LeetCode 728 自除数(暴力)
    Java实现 LeetCode 728 自除数(暴力)
    Java实现 LeetCode 728 自除数(暴力)
  • 原文地址:https://www.cnblogs.com/MrXiaoAndDong/p/docker_package_jar.html
Copyright © 2011-2022 走看看