Docker打包SpringBoot镜像的实现方式

 更新时间:2024年03月21日 11:16:06   作者:五敷有你  
docker打包springboot镜像,并不是简单的将springboot项目的jar包上传容器里,然后启动,这个操作很简单,但是如果我每次要查看容器中的日志就需要每次都进入容器内部进行查看,这就非常麻烦了,所以本文介绍了Docker打包SpringBoot镜像的实现方式,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

前置说明

  • 最为原始的打包方式
  • 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。

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

启动镜像

docker run -d test

查看实例

docker ps -a

到此这篇关于Docker打包SpringBoot镜像的实现方式的文章就介绍到这了,更多相关Docker打包SpringBoot镜像内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • Docker?容器中安装?nvm工具的步骤

    Docker?容器中安装?nvm工具的步骤

    这篇文章主要介绍了在Docker容器中安装nvm工具的步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • Docker到底是什么?Docker为什么它这么火!

    Docker到底是什么?Docker为什么它这么火!

    Docker这种新的容器技术可谓热得发烫,因为有了它,人们就有可能让数量多得多的应用程序在同样的旧服务器上运行;有了它,人们也很容易封装和交付程序。本文旨在帮助你进一步了解Docker
    2015-12-12
  • 解决docker指定udp端口号的问题

    解决docker指定udp端口号的问题

    这篇文章主要介绍了解决docker指定udp端口号的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker使用自定义网桥

    Docker使用自定义网桥

    这篇文章主要为大家详细介绍了Docker使用自定义网桥的相关资料 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Docker删除某个镜像的实现方法

    Docker删除某个镜像的实现方法

    在使用 Docker 时,经常需要删除不再需要的镜像、容器和卷,以释放存储空间,本文主要介绍了Docker删除某个镜像的实现方法,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • 搭建Docker私有仓库(自签名方式)

    搭建Docker私有仓库(自签名方式)

    为了能集中管理我们创建好的镜像,方便部署服务,我们会创建私有的Docker仓库。这篇文章主要介绍了搭建Docker私有仓库(自签名方式),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • 最详细的docker中安装并配置redis(图文详解)

    最详细的docker中安装并配置redis(图文详解)

    这篇文章主要介绍了最详细的docker中安装并配置redis(图文详解),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Dockerfile指令与基本结构的讲解

    Dockerfile指令与基本结构的讲解

    今天小编就为大家分享一篇关于Dockerfile指令与基本结构的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 开启Docker的TCP通信端口方式

    开启Docker的TCP通信端口方式

    这篇文章主要介绍了开启Docker的TCP通信端口方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 在Docker中部署Mysql并挂载配置文件的步骤详解

    在Docker中部署Mysql并挂载配置文件的步骤详解

    Docker是一种流行的容器化平台,可以简化应用程序的部署和管理,本文我们将给大家详细介绍在 Docker 中部署 MySQL 并挂载配置文件的详细步骤,需要的朋友可以参考下
    2023-09-09

最新评论

?


http://www.vxiaotou.com