SpringBoot打包docker镜像发布的详细步骤

目录
  • 1:首先构建一个SpringBoot项目
  • 2:编写一个controller用于测试
  • 3:本机启动观察是否能够成功访问
  • 4:打包
  • 5:找到生成的jar包位置
  • 6:jar包的启动运行测试
  • 7:编写Dockerfile文件
  • 8:把我们的jar包和Dockerfile文件上传服务器
  • 9:利用上传的文件构建镜像
  • 10:利用镜像运行容器
  • 11:测试访问

1:首先构建一个SpringBoot项目

只需要添加web依赖

2:编写一个controller用于测试

3:本机启动观察是否能够成功访问

4:打包

5:找到生成的jar包位置

6:jar包的启动运行测试

7:编写Dockerfile文件

8:把我们的jar包和Dockerfile文件上传服务器

9:利用上传的文件构建镜像

[root@iZwz9hv1phm24s3jicy8x1Z idea]# ls
Dockerfile  Docker-Package-0.0.1-SNAPSHOT.jar
[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker build -t dongmu-springboot-project .
Sending build context to Docker daemon  17.54MB
Step 1/5 : FROM java:8
8: Pulling from library/java
5040bd298390: Pull complete
fce5728aad85: Pull complete
76610ec20bf5: Pull complete
60170fec2151: Pull complete
e98f73de8f0d: Pull complete
11f7af24ed9c: Pull complete
49e2d6393f32: Pull complete
bb9cdec9c7f3: Pull complete
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8
 ---> d23bdf5b1b1b
Step 2/5 : COPY /*.jar /app.jar
 ---> a16d648390df
Step 3/5 : CMD ["--server.port=8080"]
 ---> Running in bc45f72484c7
Removing intermediate container bc45f72484c7
 ---> 713861b331ad
Step 4/5 : EXPOSE 8080
 ---> Running in 7a28e4939b5e
Removing intermediate container 7a28e4939b5e
 ---> 08f540832166
Step 5/5 : ENTRYPOINT ["java","-jar","/app.jar"]
 ---> Running in 6cd669cd522c
Removing intermediate container 6cd669cd522c
 ---> 1fd9f50df534
Successfully built 1fd9f50df534
Successfully tagged dongmu-springboot-project:latest

10:利用镜像运行容器

[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker images
REPOSITORY                  TAG                IMAGE ID       CREATED              SIZE
dongmu-springboot-project   latest             1fd9f50df534   About a minute ago   661MB
redis                       5.0.9-alpine3.11   3661c84ee9d0   24 months ago        29.8MB
tomcat                      9.0.22             c856951ade0a   2 years ago          624MB
java                        8                  d23bdf5b1b1b   5 years ago          643MB
[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker run -d -P --name dongmu-springboot-web dongmu-springboot-project
c63282034de4e9dca727c93009e29f421bcd2544557a60b6339fa8056cc1d0d5

11:测试访问

[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                         NAMES
c63282034de4   dongmu-springboot-project   "java -jar /app.jar …"   34 seconds ago   Up 33 seconds   0.0.0.0:49166->8080/tcp, :::49166->8080/tcp   dongmu-springboot-web
[root@iZwz9hv1phm24s3jicy8x1Z idea]# curl localhost 49166
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/9.0.50</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>
......
访问成功

上面是内部访问,下面我们重新启动利用外网进行访问

[root@iZwz9hv1phm24s3jicy8x1Z idea]# docker run -d -p 3344:8080 --name dongmu-springboot-web dongmu-springboot-project
35f3b4fe0f9a4b878d6566a9f4334fc98e7841b1fc5eb7869dd0044d4fb44d6d

欧克,外网访问成功。

到此这篇关于SpringBoot打包docker镜像发布的文章就介绍到这了,更多相关SpringBoot打包docker镜像内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • SpringBoot的API文档生成工具SpringDoc使用详解

    目录 前言 SpringDoc简介 使用 集成 从SpringFox迁移 结合SpringSecurity使用 测试 常用配置 总结 参考资料 前言 之前在SpringBoot项目中一直使用的是SpringFox提供的Swagger库,上了下官网发现已经有接近两年没出新版本了!前几天升级了SpringBoot 2.6.x 版本,发现这个库的兼容性也越来越不好了,有的常用注解属性被废弃了居然都没提供替代!无意中发现了另一款Swagger库SpringDoc,试用了一下非常不错,推荐给大家! Spr

  • Rancher+Docker+SpringBoot实现微服务部署、扩容、环境监控

    目录 前言 一.前置需求 1.linux虚拟机或系统 2.创建好docker环境 3.写一个简单的微服务并创建为docker镜像 二.安装Rancher 1.拉取rancher镜像 2.启动rancher容器 3.访问rancher 三.配置rancher 1.把语言改为中文 2.创建rancher环境 3.添加一个主机 4.为主机添加应用 5.为应用添加服务 四.扩容 五.状态监控 1.查看 cpu.内存.网络.存储 状态 2.查看日志 六.访问控制 七.补充 前言 Rancher 是一套容器

  • Gitlab-runner+Docker实现自动部署SpringBoot项目

    目录 1.环境要求 当前我的服务版本 2.主要流程 3.GitlabRunner 安装和注册 3.1 安装 总结一共就2个步骤: 1.添加gitlab官方库: 2.命令安装: 3.2 开始注册 4.制作脚本! 重要!!! 3个文件位置图 .gitlab-ci.yml 5.测试 6.常见问题 本文基于Gitlab CI/CD及Docker快速实现项目的自动部署. 注意:本文较长,浏览需要12分钟左右. 1.环境要求 以下服务器的操作系统均为Centos7 服务器A:Gitlab 服务器B:Gitl

  • idea快速实现将SpringBoot项目打包Docker镜像并部署

    目录 1.修改docker的配置文件 2.配置端口开放 3.IDEA安装Docker插件 4.IDEA配置docker 5.SpringBoot整合Docker配置 5.1 安装pom依赖 5.2 build镜像 5.3 启动镜像 1.修改docker的配置文件 修改文件信息路径如下:/etc/docker/daemon.json在配置文件中添加以下内容: "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/d

  • spring boot集成smart-doc自动生成接口文档详解

    目录 前言 功能特性 1 项目中创建 /src/main/resources/smart-doc.json配置文件 2 配置内容如下(指定文档的输出路径) 3 pom.xml下添加配置 4 运行插件 5 找到存放路径浏览器打开 6 测试结果 前言 smart-doc 是一款同时支持 java restful api 和 Apache Dubbo rpc 接口文档生成的工具,smart-doc 颠覆了传统类似 swagger 这种大量采用注解侵入来生成文档的实现方法. smart-doc 完全基于

  • springboot-rabbitmq-reply 消息直接回复模式详情

    目录 一.使用场景 二.Reply实战 (1)依赖与YML配置 (2)RabbitMq bean配置 (3)消息生产端 (4)消息消费端 (1)方法一:sendTo注解+方法返回值 (2)方法二:读取生产端的消息使用模板发送 (3)方法三:方法返回值 (4)测试 一.使用场景 MQ的作用包括了解耦.异步等. 通常生产者只负责生产消息,而不关心消息谁去获取,或者消费结果如何:消费者只负责接收指定的消息进行业务处理而不关心消息从哪里来一级回复业务处理情况.但我们项目中有特殊的业务存在,我们作为消息生

  • SpringBoot父子线程数据传递的五种方案介绍

    目录 方案1.ThreadLocal+TaskDecorator 方案2.RequestContextHolder+TaskDecorator 方案3.MDC+TaskDecorator 方案4.InheritableThreadLocal 方案5.TransmittableThreadLocal 方案对比 简答说一下InheritableThreadLocal 总结 方案1.ThreadLocal+TaskDecorator 用户工具类 UserUtils /** *使用ThreadLocal

  • Springboot引入hibernate配置自动建表并进行增删改查操作

    目录 前言 一.引入依赖 二.配置yml 三.写代码 四.测试结果 前言 有些业务比较复杂,比如我们需要新建10张表,每张表有10个字段,如果用手工来操作,肯定非常浪费时间,而且随着代码中对实体类的修改,还要同时修改数据库表,有时候写着写着就忘了,代码改了,数据库没改,这种问题使用 hibernate 的自动建表就好啦. 一.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifac

  • SpringBoot打包docker镜像发布的详细步骤

    目录 1:首先构建一个SpringBoot项目 2:编写一个controller用于测试 3:本机启动观察是否能够成功访问 4:打包 5:找到生成的jar包位置 6:jar包的启动运行测试 7:编写Dockerfile文件 8:把我们的jar包和Dockerfile文件上传服务器 9:利用上传的文件构建镜像 10:利用镜像运行容器 11:测试访问 1:首先构建一个SpringBoot项目 只需要添加web依赖 2:编写一个controller用于测试 3:本机启动观察是否能够成功访问 4:打包

  • Linux+Docker+SpringBoot+IDEA一键自动化部署的详细步骤

    Linux+Docker+SpringBoot+IDEA一键自动化部署的步骤 记录从打包到服务器配置上线全流程 安装docker 详细步骤请戳这里 用yum源安装用yum源安装 查看是否已安装docker列表 yum list installed | grep docke 安装docker yum -y install docker -y表示不询问安装,直到安装成功,安装完后再次查看安装列表 开放2375端口,开启远程访问 vim /usr/lib/systemd/system/docker.s

  • SpringBoot创建Docker镜像的方法步骤

    随着越来越多的组织转向容器和虚拟服务器,Docker正成为软件开发工作流程中一个更重要的部分.为此,Spring Boot 2.3中最新的功能之中,提供了为Spring Boot应用程序创建 Docker 镜像的能力. 这篇文章的目的,就是为了给大家介绍如何为 Spring Boot 应用程序创建 Docker 镜像. 1. 传统Docker构建 使用Spring Boot 构建 Docker 镜像的传统方法是使用 Dockerfile .下面是一个简单的例子: FROM openjdk:8-j

  • 打包docker镜像推送到远程服务器并部署到k8s的方法步骤

    目录 1.Dockerfile 2.pom配置 3.镜像推送 4.k8s部署 前提条件: 1.docker服务器已开启远程访问,参考<远程docker服务器携带证书连接>. 2.服务器上已经搭建好k8s集群,本文是k8s单点集群用于测试. 在之前的文章中我们已经通过idea的docker插件测试了远程docker服务器已经能够正常访问,虽然利用这个docker插件也可以完成docker镜像的打包及推送,但本文我们将换一种方式,使用maven的docker-maven-plugin插件完成doc

  • 最简单的spring boot打包docker镜像的实现

    这个spring boot项目只在网页输出一个hello world文本,没有其他复杂的配置和页面,属于入门级,可以放心食用. 本项目通过maven打包,打包和构建镜像的命令为: mvn clean install package docker:build spring boot打包docker镜像步骤如下: (一) 在pom.xml文件中添加docker配置: <!--docker maven plugin,在目录src/main/docker下创建Dockerfile文件,Dockerfil

  • Intellij IDEA快速实现Docker镜像部署的方法步骤

    目录 1.Docker开启远程访问 2.Intellij IDEA安装Docker插件 3.spring boot服务Docker部署 4.创建Docker镜像 参考: 1.Docker开启远程访问 [root@izwz9eftauv7x69f5jvi96z docker]# vim /lib/systemd/system/docker.service #修改ExecStart这行 ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:

  • Docker下部署lnmp详细步骤

    目录 拉取一个centos镜像 基于centos生成nginx容器 基于centos生成mysql容器 基于centos生成php容器 制作镜像 用新镜像创建lnmp容器 测试 拉取一个centos镜像 //下载centos镜像 [root@localhost ~]# docker pull centos Using default tag: latest latest: Pulling from library/centos a1d0c7532777: Pull complete Digest

  • Spring Boot 分层打包 Docker 镜像实践及分析(推荐)

    目录 1.准备springboot项目 2.进行相关配置 3.package 4.Dockerfile 5.应用程序修改&dive分析 1. 准备 spring boot 项目 简单,略过 spring boot 版本 > 2.3.x 即可 简单写了一个 hello world 2. 进行相关配置 这里网上很多 blog 都强调了要去 pom.xml 里手动配置启用分层打包: <build> <plugins> <plugin> <groupId&g

  • Docker安装mysql超详细步骤记录

    查看需要安装的镜像版本 dockerHub官网地址 1.搜索mysql 2.点击标签 3.点击Tags,查看想要的版本号 在安装好docker的linux中执行命令 拉取mysql最新版本 docker pull mysql 拉取mysql指定版本 docker pull mysql:5.7 拉取结束后,查看本地是否存在 docker images 运行mysql docker run -d -p 3306:3306 --name mysql -v /mysqldata/mysql/log:/v

随机推荐