Docker打包SpringBoot镜像的实现方式

 更新时间:2024年03月21日 11:16:06   作者:五敷有你  
docker打包springboot镜像,并不是简单的将springboot项目的jar包上传容器里,然后启动,这个操作很简单,但是如果我每次要查看容器中的日志就需要每次都进入容器内部进行查看,这就非常麻烦了,所以本文介绍了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。

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

启动镜像

docker run -d test

查看实例

docker ps -a

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

相关文章

  • 安装Docker时执行yum install -y yum-utils报错解决办法

    安装Docker时执行yum install -y yum-utils报错解决办法

    在安装工具时使用yum命令报错,问题通常是服务器无法连接网络,解决此问题需配置镜像源,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-11-11
  • win10中docker部署和运行countly-server的流程

    win10中docker部署和运行countly-server的流程

    这篇文章主要记录一下windows10中使用docker容器安装和部署countly-server的整个流程,本文给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11
  • docker 挂载、修改文件的步骤

    docker 挂载、修改文件的步骤

    这篇文章主要介绍了docker 挂载、修改文件的步骤,咱们使用的是docker的 copy 命令从容器中 copy 出来相关的配置文件,在本地修改,修改完毕在使用docker的 copy 命令从本地 copy 到容器中,重启容器生效的,需要的朋友可以参考下
    2023-03-03
  • 详解Docker下使用Elasticsearch可视化Kibana

    详解Docker下使用Elasticsearch可视化Kibana

    本篇文章主要介绍了详解Docker下使用Elasticsearch可视化Kibana,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • docker自定义网桥docker0及docker的开启,关闭,重启命令操作

    docker自定义网桥docker0及docker的开启,关闭,重启命令操作

    这篇文章主要介绍了docker自定义网桥docker0及docker的开启,关闭,重启命令操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Docker compose up -d与Docker restart的区别

    Docker compose up -d与Docker restart的区别

    本文主要介绍了Docker compose up -d与Docker restart的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Docker安装MongoDB的过程(mongo.latest)

    Docker安装MongoDB的过程(mongo.latest)

    MongoDB是一种高性能、灵活的数据库,特别适合处理大量非结构化数据,它采用文档数据模型,支持复杂的数据结构,提供类似面向对象的查询语言,本文给大家介绍Docker安装MongoDB的过程(mongo.latest),感兴趣的朋友一起看看吧
    2024-11-11
  • 详解Docker Volume 之权限管理

    详解Docker Volume 之权限管理

    这篇文章主要介绍了详解Docker Volume 之权限管理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • docker容器启动设置固定IP的实现

    docker容器启动设置固定IP的实现

    本文主要介绍了docker容器启动设置固定IP的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • Docker 安装与常用命令实战示例(超详细版)

    Docker 安装与常用命令实战示例(超详细版)

    本文给大家介绍Docker安装与常用命令实战示例(超详细版),本文通过实例给大家讲解的非常详细,感兴趣的朋友跟随小编一起看看吧
    2026-03-03

最新评论