可以有两种方式:

  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. 给Cell间隔颜色

    ==){ cell.backgroundColor = [UIColor colorWithRed:. green:. blue:. alpha:]; } else{ cell.backgroundC ...

  2. PXE,ipmi,bare metal

    IPMI(Intelligent Platform Management Interface)是一个智能平台管理接口. 用户可以利用IPMI 监视服务器等设备的物理特征,如各部件的温度.电压.风扇工作 ...

  3. Python3: Command not found(Mac OS)

    1. 第一步:查看以下路径是否安装有 Python 3.x # 打开以下目录, 版本号有可能不同 cd /usr/local/Cellar/python/3.5.2_3/bin # 查看当前目录的内容 ...

  4. Power Strings----poj2406(kmp扩展 循环节)

    题目链接:http://poj.org/problem?id=2406 题意:就是求串s能够最多由多少个相同的串a串联而成: 例如 ababab 由3个ab串联而成: abababa 只能由1个aba ...

  5. 剪花布条---hdu2087(kmp模板)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2087 kmp模板题: #include <cstdio> #include <cst ...

  6. 网络爬虫之scrapy框架详解

    twisted介绍 Twisted是用Python实现的基于事件驱动的网络引擎框架,scrapy正是依赖于twisted, 它是基于事件循环的异步非阻塞网络框架,可以实现爬虫的并发. twisted是 ...

  7. python pip命令技巧

    确保本地开发环境,和线上一致性 1.导出当前解释器的模块pip3 freeze > requirements.txt 2.将这个文件requirements.txt,上传至服务器,在新的虚拟环境 ...

  8. Spring-基于设置函数的依赖注入

    Spring 基于设置函数的依赖注入 当容器调用一个无参的构造函数或一个无参的静态factory方法来初始化你的bean后,通过容器在你的bean上调用设值函数,基于设值函数的DI就完成了. 下面是T ...

  9. (2.6)Mysql之SQL基础——存储引擎的查看与修改

    (2.6)Mysql之SQL基础——存储引擎的查看与修改 可以使用 show engines; 查看数据库支持的所有的存储引擎: 目录: 1.数据库级别存储引擎 1.1查看现在默认的存储引擎 1.2 ...

  10. 如何保护自己的GitHub代码不被别人覆盖

    我们在自己的github上创建了免费的公开代码,为了防止别人通过git push upstream master 覆盖了自己原有的代码,需要作一下设置:Settings->Branchs,然后在 ...