SpringBoot 打包为Docker进行
可以有两种方式:
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进行的更多相关文章
- SpringBoot打包成Docker镜像
1. 本文环境 Maven:3.6.3(Maven配置参考) SpringBoot version:2.3.4.RELEASE Docker version: 19.03.11(Docker搭建参考) ...
- SpringBoot打包到docker(idea+传统方式)
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 目录 1. 方式1.通过idea 远程发布 1.1 修改docker.service文件 1. 进入服务器 2. 修改ExecStart行为下面内容 ...
- JAVA SpringBoot 项目打包(JAR),在打包成 docker 镜像的基本方法
1,打包 SpringBoot 项目,使用 IDEA 如下图 2,将 JAR 包上传到安装了 Docker 的 linux 服务器上,并且在相容目录下创建一个名为 Dockerfile 的文件 3,在 ...
- 【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)
写在前面 最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本 ...
- 【linux】【jenkins】jenkins构建、mvn或者npm打包、docker运行、失败自动回滚脚本
小白对jenkins运维的使用有点简单的想法,这里开个记录贴记录下. 由于未找到jenkins构建失败后执行其他脚本的插件,也暂时没有使用其他运维工具.所以想自己写一个shell脚本,一是方便其他人使 ...
- Java SpringBoot 项目构建 Docker 镜像调优实践
PS:已经在生产实践中验证,解决在生产环境下,网速带宽小,每次推拉镜像影响线上服务问题,按本文方式构建镜像,除了第一次拉取.推送.构建镜像慢,第二.三-次都是几百K大小传输,速度非常快,构建.打包.推 ...
- springboot 打包
springboot 打包 先clean 然后 maven package 通过命令java -jar target/GoshenWepPro-0.1.0.jar运行程序
- 将java项目打包成docker镜像
简介:将jar打包成镜像好说,毕竟jar包长的都是一样的,但是我们只是写了一个普通的java项目,我也不方便封装成jar包什么的,但是我们也想打包docker image怎么办呢,我们可以用编译后的j ...
- springboot打包不同环境配置与shell脚本部署
本篇和大家分享的是springboot打包并结合shell脚本命令部署,重点在分享一个shell程序启动工具,希望能便利工作: profiles指定不同环境的配置 maven-assembly-plu ...
随机推荐
- 160311、mybatis sql语句中转义字符
问题: 在mapper ***.xml中的sql语句中,不能直接用大于号.小于号要用转义字符 解决方法: 1.转义字符串 小于号 < < 大于号 > & ...
- Android 5.0+删除Sdcard文件
在Android5.0往后的平台上,你想通过单纯的调用File.delete()或着ContentResolver.delete()来删除Sdcard上的文件会删除失败.前者提示没有权限,后者仅仅删除 ...
- How to Design a Good API and Why it Matters
前谷歌首席 Java 架构师谈如何设优秀的 API – 码农网 http://www.codeceo.com/article/google-java-good-api.html 2015-11-24 ...
- flume jetty 进程关系 flume jetty 跨域问题 jetty 源码分析
flume jetty 跨域问题 13481 httpSource的端口进程号 = flume 启动后的进程号 [root@c log]# netstat -atp Active Internet ...
- 拼团商品列表页 分析 js代码行位置对执行的影响和window.onload的原理 setTimeout传参
w TypeError : Cannot set property 'innerHTML' of nullTypeError : Cannot set property 'value' of null ...
- SaaS成熟度模型分级:
SaaS成熟度模型分级: 根据SaaS应用是否具有可配置性,高性能,可伸缩性的特性,SaaS成熟度模型被分成四级.每一级都比前一级增加三中特性中的一种. 可配置 高性能 可伸缩 Level1 N ...
- Linux Shell 文本处理工具集锦--Awk―sed―cut(row-based, column-based),find、grep、xargs、sort、uniq、tr、cut、paste、wc
本文将介绍Linux下使用Shell处理文本时最常用的工具:find.grep.xargs.sort.uniq.tr.cut.paste.wc.sed.awk:提供的例子和参数都是最常用和最为实用的: ...
- d3.js 之SVG:矢量化图形绘制
SVG Scalable Vector Graphics 是一个成熟的W3C标准,被设计用来在web和移动平台 上展示可交互的图形.和HTML类似,SVG也支持CSS和JavaScript.尽管可以使 ...
- 1. testNG+Maven 环境搭建
一:使用的工具 : TestNG 6.9.10 Maven 3.5 IDEA 二:创建maven项目,在pom.xml添加依赖 <?xml version="1.0" enc ...
- python web框架 django 用pycharm 添加django项目
用pycharm 创建django项目 用pycharm 启动django 用项目名启动 点击蓝色连接的url 直接跳转到页面 修改 运行django 程序 设置 可以改端口 可以在创建djang ...