【docker】Docker打包SpringBoot镜像

📝个人主页:五敷有你****

🔥系列专栏:中间件****

⛺️稳中求进,晒太阳

前置说明

  • 最为原始的打包方式
  • spring-boot-maven-plugin插件
  • jib-maven-plugin插件
  • dockerfle-maven-plugin插件
最为原始的方式

也就是使用Docker的打包命令去打包,麻烦,我这里不多说。

SpringBoot打包镜像

Dockerfile是什么

构建容器服务四步骤:

  • 编写Dockerfile
  • docker build 构建镜像
  • docker run 镜像
  • docker push 镜像

第一步是编写Dockerfile ,Dockerfile 是我们打docker 镜像的脚手架,也就是我们说的docker镜像,就是根据Dockerfile来打开的。(名称必须是这个,区分大小写)

简单看一下Dockerfile的内容

复制代码
FROM  openjdk:8
COPY *.jar /app.jar
CMD ["--server.port=8080"]
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]

可以看到,Dockerfile是由很多指令来组成,比如说FROM,COPY (一般情况话,我们的指令都是大写的,虽然小写的也不会报错,但是这是约定俗称的DockeFile中的指令都是大写的)

Dockerfile常见指令

1.FROM

复制代码
FROM  openjdk:8

指定基础镜像,用于构建当前镜像的基础。也就是说我们要打镜像的基础包,我们程序运行所需要的环境,比如说SpringBoot运行需要Java8,那就是在JDK8的基础上构建自己的镜像。

2.COPY/ADD

复制代码
COPY *.jar /app.jar

将文件从主机复制到镜像中

3.CMD

复制代码
CMD ["--server.port=8080"]

指定容器创建时的默认命令。(可以被覆盖)

4.EXPOSE

复制代码
EXPOSE 8080

声明容器运行时监听的特定网络端口。

5.ENTRYPOINT

复制代码
ENTRYPOINT ["java","-jar","/app.jar"]

设置容器创建时的主要命令。(不可被覆盖)

构建镜像

文件位置

当Dockerfile文件编写完成后,与需要打成镜像的jar包放到统一目录下。

docker bulid
复制代码
 docker build -t  test:1.0.1 .

即镜像包的名称为test,版本号为1.0.1。如果不写后面的版本号,则版本号默认为latest。

(注意命令最后有一个 . ,必须要有这个参数)

3.启动镜像
复制代码
docker run -d test
4.查看实例
复制代码
docker ps -a
相关推荐
顽疲几秒前
Java vue 养老系统源码详解:楼宇床位 care_space 与房态图 Spring Boot 实践
后端
Lyy6 分钟前
DevOps平台 — 第十三篇:规划的设计与实现
后端·devops
江湖有缘7 分钟前
3款开源IT工具箱整理合集,可Docker一键部署!
docker·容器·开源
今天不在线18 分钟前
旧 Java 项目接入 AI 实战系列(一):四层递进,从基础对话到流式输出
后端
卷无止境23 分钟前
WebGIS生态全景丨从浏览器里的地图到背后的空间数据库
后端·python
旋生万物33 分钟前
用螺旋数重写 Transformer Attention:让大模型自带“相位记忆“的 PyTorch 实现
docker·云原生·kubernetes·螺旋生成论·螺旋相位
JuiceFS38 分钟前
JuiceFS 企业版 5.4:从千亿文件到百万客户端
后端
卓怡学长40 分钟前
w203基于springboot钢材仓库管理系统的设计与实现
java·spring boot·spring·intellij-idea
Lost of 程序猿40 分钟前
命令模式实战:把“下单后的动作“打包成可执行的任务
后端·设计模式·c#·asp.net·命令模式
焦玉全43 分钟前
Sharding-JDBC 分库分表实战:从 800 万订单表的查询优化说起
后端