【docker】Docker打包SpringBoot镜像
作者:mmseoamin日期:2024-04-29

【docker】Docker打包SpringBoot镜像,第1张

       📝个人主页:五敷有你      

 🔥系列专栏:中间件

⛺️稳中求进,晒太阳

【docker】Docker打包SpringBoot镜像,第2张

前置说明

  • 最为原始的打包方式
  • 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】Docker打包SpringBoot镜像,第3张

    docker bulid
     docker build -t  test:1.0.1 .
    

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

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

    【docker】Docker打包SpringBoot镜像,第4张

    3.启动镜像
    docker run -d test

     

    4.查看实例
    docker ps -a

    【docker】Docker打包SpringBoot镜像,第5张