千家信息网

如何分析Spring Boot应用通过Docker发布部署的流程

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容主要讲解"如何分析Spring Boot应用通过Docker发布部署的流程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何分析Spring Bo
千家信息网最后更新 2026年11月04日如何分析Spring Boot应用通过Docker发布部署的流程

本篇内容主要讲解"如何分析Spring Boot应用通过Docker发布部署的流程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何分析Spring Boot应用通过Docker发布部署的流程"吧!

目录
  • 手动部署

    • 1、idea创建spring boot项目

    • 2、项目打成 Jar 包

    • 3、构建 docker image

    • 4、查看并运行镜像

  • 插件部署

    • 运行推送命令

      将Spring Boot项目部署到docker中有两种方法,手动部署和插件部署

      手动部署

      1、idea创建spring boot项目

      pom.xml文件

                  spring-cloud-examples        org.example        1.0-SNAPSHOT        4.0.0    DockerDemo                        org.springframework.boot            spring-boot-starter-web                                                    org.springframework.boot                spring-boot-maven-plugin                        

      必须添加 spring-boot-maven-plugin 插件,该插件的作用是在打 Jar 包时引入依赖包,当运行"mvn package"进行打包时,会打包成一个可以直接运行的 JAR 文件,使用 "java -jar" 命令就可以直接运行。

      启动类

      package dockerdemo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@SpringBootApplicationpublic class Application {    public static void main(String[] args) {        SpringApplication.run(Application.class, args);    }    @RequestMapping("/hello")    public String hello(){        return "Hello Docker World!";    }}

      2、项目打成 Jar 包

      然后在项目pom.xml文件所在目录执行maven命令将项目打成 Jar 包

      $ mvn package

      从输出日志可知 Jar 在 target 目录下,直接运行 Jar 包

      $ java -jar DockerDemo-1.0-SNAPSHOT.jar

      然后在浏览器中输入 http://localhost:8080/hello 进行测试

      3、构建 docker image

      创建Dockerfile文件

      FROM java:8VOLUME /tmpADD DockerDemo-1.0-SNAPSHOT.jar DockerDemo.jarRUN bash -c "touch /DockerDemo.jar"ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/DockerDemo.jar"]

      参数解释:

      • FROM:表示以JDK8为基础镜像制作docker镜像

      • VOLUME:表示创建一个挂载点,容器目录为 /tmp,主机目录自动生成。创建 /tmp 是因为Spring Boot内嵌的Tomcat容器默认使用 /tmp 作为工作目录

      • ADD:将容器外的 DockerDemo-1.0-SNAPSHOT.jar 拷贝到容器中,并重命名为 DockerDemo.jar

      • RUN:RUN 后面跟着bash命令,-c 表示将后面的字符串当命令执行,即执行 touch /DockerDemo.jar,该命令修改 DockerDemo.jar 文件的访问时间和修改时间为当前时间

      • ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短Tomcat的启动时间,添加 java.security.egd 的系统属性指向 /dev/urandom 作为 ENTRYPOINT

      创建好 Dockerfile 后,把打包好的 Spring Boot 项目 jar 包和 Dockerfile 文件放在任意一个目录下,使用 docker 命令构建镜像文件:

      $ docker image build -t DockerDemo:1 .

      参数解释:

      • build:表示制作镜像

      • -t:表示给镜像打个标签,相当于 docker tag 镜像ID 新镜像名:版本号

      • .:表示Dockerfile文件所在位置,. 表示在当前目录

      4、查看并运行镜像

      #查看镜像:$ docker images#运行镜像:$ docker container run --name DockerDemo -d -p 80:8080 DockerDemo:1

      参数解释:

      • docker container run:表示运行容器

      • -name:给容器起个别名,操作容器的时候可以使用别名来代替容器ID,方便容器的管理

      • -d:表示容器开启后在后台运行

      • -p:端口映射。将容器内部的8080端口映射到宿主机的80端口

      插件部署

      插件部署要在项目的 pom.xml 文件中添加 dockerfile-maven-plugin 插件

      pom.xml

                  spring-cloud-docker        org.example        1.0-SNAPSHOT        4.0.0    spring-cloud-eureka            1.8        1.8        UTF-8        UTF-8                            registry.cn-huhehaote.aliyuncs.com/monkeybrain                        latest                                            org.springframework.cloud            spring-cloud-starter-eureka-server                                                        install        ${project.artifactId}                                    src/main/resources                true                                                                    org.springframework.boot                spring-boot-maven-plugin                                    true                                                                    org.apache.maven.plugins                maven-surefire-plugin                                    true                                                                    com.spotify                docker-maven-plugin                0.4.13                                                                        http://localhost:2375                    ${docker.image.prefix}/${project.build.finalName}                    aliyun-docker-registry                    registry.cn-huhehaote.aliyuncs.com                    true                                                                latest                                                            java:8                                                                ["java","-jar","/${project.build.finalName}.jar"]                                                                                            /                            ${project.build.directory}                            ${project.build.finalName}.jar                                                                                                                                                

      运行推送命令

      $ mvn clean package docker:build -DpushImage

      到此,相信大家对"如何分析Spring Boot应用通过Docker发布部署的流程"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

      容器 运行 镜像 命令 文件 项目 目录 插件 时间 流程 分析 应用 参数 手动 端口 解释 内容 所在 方法 UTF-8 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 山东特亿宝互联网科技有限公司 西安纸贵互联网科技有限公司 互联网科技与金融科技 礼当家互联网科技 互联网科技视频素材 银川新华互联网科技学校地址 科技赋能互联网健康 现代科技和互联网有关系吗 青岛中康互联网医疗科技有限公司 科技互联网的估值 中国科技互联网公司收入 互联网还是高科技吗 长沙茂晟互联网科技有限公司 科技互联网的核心竞争力 上海互联网科技公司ppt 中国新注册互联网科技 米泉互联网科技专业怎么样 陕西彩京云互联网科技有限公司 互联网科技大佬云集 互联网科技创业计划的风险分析 互联网中国科技 银优互联网科技有限公司 互联网和高科技公司 互联网校园科技培训 翼展科技 首家互联网医院 雨阳互联网卡科技有限公司 互联网科技融合创新 互联网与数字科技关系 福州德业互联网科技 玉溪新华互联网科技怎么选
      0