可以有两种方式:

  1、dockerfile

  2、maven docker

第一种方式:通过dockerfile打包Docker镜像

1、将dockerfile和 springboot打包的jar文件放在一起

[root@docker springboot-docker]# ls
dockerfile hot-0.0..jar

2、dockerfile文件内容

FROM docker.io/ascdc/jdk8  # jdk8 基础镜像
ENV HOME_PATH /spring  # 定义目录变量
RUN ["mkdir", "-p", "/spring"]  # 在基础镜像中创建目录
ADD hot-0.0..jar $HOME_PATH/app.jar  # 将本地的jar目录复制到docker基础镜像中
WORKDIR $HOME_PATH  # 设置镜像工作目录
ENTRYPOINT ["java", "-jar", "app.jar"]  # 镜像启动命令

3、执行镜像生成命令

[root@docker springboot-docker]# docker build -t springboot-hot:v1 .
Sending build context to Docker daemon 18.23 MB
Step / : FROM docker.io/ascdc/jdk8
---> 9f04bbc44406
Step / : ENV HOME_PATH /spring
---> Using cache
---> 63ce1b9faf62
Step / : RUN mkdir -p /spring
---> Running in dfb2354ab51f ---> b52f3904f762
Removing intermediate container dfb2354ab51f
Step / : ADD hot-0.0..jar $HOME_PATH/app.jar
---> ed41c3a0104e
Removing intermediate container c5ccbb211747
Step / : WORKDIR $HOME_PATH
---> 421f5b686e0f
Removing intermediate container 8cbb8cbe870c
Step / : ENTRYPOINT java -jar app.jar
---> Running in 2df6bc912185
---> f89df931edfe
Removing intermediate container 2df6bc912185
Successfully built f89df931edfe

4、查看本地镜像

[root@docker springboot-docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
springboot-hot v1 f89df931edfe minutes ago MB
docker.io/ascdc/jdk8 latest 9f04bbc44406 months ago MB

5、运行springboot镜像

[root@docker springboot-docker]# docker run -d -p : springboot-hot:v1
78fb24c74e21f57fa3d1f543dd9c60537db65c03fb1e617819831d1c13c1b96e
[root@docker springboot-docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
78fb24c74e21 springboot-hot:v1 "java -jar app.jar" seconds ago Up second 0.0.0.0:->/tcp flamboyant_blackwell

6、浏览器中测试

PS:将war包打包到tomcat中

SpringBoot 打包为Docker进行的更多相关文章

  1. SpringBoot打包成Docker镜像

    1. 本文环境 Maven:3.6.3(Maven配置参考) SpringBoot version:2.3.4.RELEASE Docker version: 19.03.11(Docker搭建参考) ...

  2. SpringBoot打包到docker(idea+传统方式)

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 目录 1. 方式1.通过idea 远程发布 1.1 修改docker.service文件 1. 进入服务器 2. 修改ExecStart行为下面内容 ...

  3. JAVA SpringBoot 项目打包(JAR),在打包成 docker 镜像的基本方法

    1,打包 SpringBoot 项目,使用 IDEA 如下图 2,将 JAR 包上传到安装了 Docker 的 linux 服务器上,并且在相容目录下创建一个名为 Dockerfile 的文件 3,在 ...

  4. 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)

    写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...

  5. 【linux】【jenkins】jenkins构建、mvn或者npm打包、docker运行、失败自动回滚脚本

    小白对jenkins运维的使用有点简单的想法,这里开个记录贴记录下. 由于未找到jenkins构建失败后执行其他脚本的插件,也暂时没有使用其他运维工具.所以想自己写一个shell脚本,一是方便其他人使 ...

  6. Java SpringBoot 项目构建 Docker 镜像调优实践

    PS:已经在生产实践中验证,解决在生产环境下,网速带宽小,每次推拉镜像影响线上服务问题,按本文方式构建镜像,除了第一次拉取.推送.构建镜像慢,第二.三-次都是几百K大小传输,速度非常快,构建.打包.推 ...

  7. springboot 打包

    springboot 打包 先clean 然后 maven package 通过命令java -jar target/GoshenWepPro-0.1.0.jar运行程序

  8. 将java项目打包成docker镜像

    简介:将jar打包成镜像好说,毕竟jar包长的都是一样的,但是我们只是写了一个普通的java项目,我也不方便封装成jar包什么的,但是我们也想打包docker image怎么办呢,我们可以用编译后的j ...

  9. springboot打包不同环境配置与shell脚本部署

    本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...

随机推荐

  1. jstree的checkbox实例+详解

    jstree的checkbox实例较少,思索后决定进行一下整理,先上代码 $("#filtrate_row").on("loaded.jstree",funct ...

  2. [转]通过apk签名使应用程序有系统权限

    [转]通过apk签名使应用程序有系统权限 (2013-01-08 13:40:50) 转载▼ 标签: it 分类: Android 出处:http://blog.csdn.net/doom66151/ ...

  3. find-if-an-item-is-in-a-javascript-array

    http://stackoverflow.com/questions/143847/best-way-to-find-if-an-item-is-in-a-javascript-array Best ...

  4. 与python的第一次邂逅

    python简介 一.什么是python python是一种面向对象.直译式的计算机程序语言,所以有了武老师的那句名言:一切皆为对象 python的设计哲学是:“优雅”,“明确”,“简单” pytho ...

  5. Django 框架搭建入门案例

    1. 什么是 web 框架 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端; # 示例: import socket def handle_re ...

  6. etcd: request cluster ID mismatch错误解决【只适用于新建etcd集群或无数据集群】

    1.报错信息 Mar 29 05:45:31 xxx etcd: request cluster ID mismatch (got 414f8613693e2e2 want cdf818194e3a8 ...

  7. Flask用Flask-SQLAlchemy连接MySQL

    安装 pip3 install Flask-SQLAlchemy 测试环境目录结构 settings.py DIALECT = 'mysql' DRIVER = 'pymysql' USERNAME ...

  8. php about session store db or cache

    PHP关于Session的配置: 在php.ini中配置为:session.name = PHPSESSID 在请求开始的时候,会话名称会被重置并存储到session.name配置项. 所以要想在不改 ...

  9. spring Bean装配的几种方式简单介绍

    Spring容器负责创建应用程序中的bean同时通过ID来协调这些对象之间的关系.作为开发人员,我们需要告诉Spring要创建哪些bean并且如何将其装配到一起. spring中bean装配有两种方式 ...

  10. 深入跟踪MFC程序的执行流程

    来源: http://blog.csdn.net/ljianhui/article/details/8781991 在MFC程序设计的学习过程中最令人感到难受,甚至于有时会动摇学习者信心的就是一种对于 ...