可以有两种方式:

  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. poj3735—Training little cats(特殊操作转化为矩阵操作)

    题目链接:http://poj.org/problem?id=3735 题目意思: 调教猫咪:有n只饥渴的猫咪,现有一组羞耻连续操作,由k个操作组成,全部选自: 1. g i 给第i只猫咪一颗花生 2 ...

  2. Rete_algorithm

    https://en.wikipedia.org/wiki/Rete_algorithm https://en.wikipedia.org/wiki/Rete_algorithm The Rete a ...

  3. JavaScript中的原型与原型链

    一直对JavaScript的原型与继承不了解,参考<JavaScript权威指南(第六版)>和<JavaScript高级程序设计(第三版)>对这个点的知识做个整理,方便自己记忆 ...

  4. #define宏定义

    1 #define的概念  #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本.  该命令有两种格式:一种是简单的宏定义, ...

  5. 22.Atomicity and Transactions-官方文档摘录

    原子性和事务 1 在单个文档修改多个嵌入文档,写操作都在文档级别上都是原子的 2 在单个写操作修改多个文档时,每个文档的修改都具有原子性,但是,作为一个整体的操作,并不是原子的.其他操作可能有交互.使 ...

  6. LInux进程虚拟地址空间的管理

    2017-04-07 脱离物理内存的管理,今天咱们来聊聊进程虚拟内存的管理.因为进程直接分配和使用的都是虚拟内存,而物理内存则是有系统“按需”分配给进程,在进程看来,只知道虚拟内存的存在! 前言: 关 ...

  7. python 添加进度条

    安装: pip install tqdm使用: from tqdm import tqdm import time for i in tqdm(rang(10)): time.sleep(0.1)

  8. (0.2.6)Mysql安装——编译安装

    (0.2.6)Mysql安装——编译安装 待完善

  9. 图解Python可以做些什么

    Python具有简单.易学.免费.开源.可移植.可扩展.可嵌入.面向对象等优点,它的面向对象甚至比java和C#.net更彻底. 作为一种通用语言,Python几乎可以用在任何领域和场合,角色几乎是无 ...

  10. oracle建表设置主键自增

    首先创建一张表 create table member( memberId number primary key, memberMail )not null, memberName ) not nul ...