SpringBoot打包docker镜像发布

2023-11-19

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

在这里插入图片描述
欧克,外网访问成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot打包docker镜像发布 的相关文章

随机推荐

  • 2018中国汽车企业排行榜TOP10

    看排名 懂中国汽车 Aming 汽车行业变化很快 但是从上市车企的情况来看 可以看到具体的财报数字 因而可以知道一个更具体的发展情况 不过这次的排行榜主要针对2018年上半年中国已经上市的汽车企业 特别推出利润排行榜与销量排行榜 同时还有利
  • Dockerfile讲解和案例分享

    目录 dockerfile是在容器外部 构建三部曲 dockerfile基本知识 dockerfile执行流程 dockerfile 常用保留字 FROM MAINTAINER RUN EXPOSE WORKDIR USER ENV ADD
  • 40个学术网站

    40个学术网站 满足你的科研需求 2018 03 06 美国留学那点事 文 中外学术情报 微信号 Academic Information 科研工作者每天日常莫过于看文献 做实验 写论文 人生最郁闷的事情不过于是导师说 那个XX 帮我下载下
  • java secretkey用法_Java SecretKeyFactory.generateSecret方法代码示例

    本文整理汇总了Java中javax crypto SecretKeyFactory generateSecret方法的典型用法代码示例 如果您正苦于以下问题 Java SecretKeyFactory generateSecret方法的具体
  • Rust- 类型转换

    Rust is a statically typed language which means that it emphasizes on knowing the types of all variables at compile time
  • Python全栈开发【基础-05】基本数据类型

    专栏介绍 本专栏为Python全栈开发系列文章 技术包括Python基础 函数 文件 面向对象 网络编程 并发编程 MySQL数据库 HTML JavaScript CSS JQuery bootstrap WSGI Django Flas
  • LeetCode 124. 二叉树中的最大路径和 Python

    给定一个非空二叉树 返回其最大路径和 本题中 路径被定义为一条从树中任意节点出发 达到任意节点的序列 该路径至少包含一个节点 且不一定经过根节点 示例 1 输入 1 2 3 1 2 3 输出 6 示例 2 输入 10 9 20 null n
  • n-gram模型中的平滑方法

    当使用n gram模型对测试语料中的句子进行评估时 如果句子中包含在训练集中未出现的n元语法 则计算出来句子出现的概率为0 例如上一篇博客语言模型和n元语法中的例子 此时用该模型来计算下面句子的概率 因此 必须分配给所有可能出现的字符串一个
  • 关于Vue.js和React.js,听听国外的开发者怎么说?

    VueJS 与 ReactJS 到底怎么样如何 听听别人怎么说 使用所有新的库和框架 很难跟上所有这些库和框架 也就是说 这就需要您决定哪些是值得花时间的 让我们看看人们说什么 和Vue JS一起工作是很愉快的 我发现学习曲线很浅 然而 这
  • 【LeetCode75】第五十九题 第N个泰波那契数

    目录 题目 示例 分析 代码 题目 示例 分析 题目顾名思义 让我们求出第N个泰波那契数 也就是除了开头三个数之外 第四个数开始就是等于前三个数之和 不要和斐波那契数弄混了 斐波那契是前两个数的和 泰波那契是前三个数的和 也就是说当前数 我
  • docker容器内修改文件

    1 找到容器对应的ID 使用docker ps命令找到对应的镜像id 2 根据容器id进入到对应文件夹 执行命令 docker exec it 镜像id bin bash 3 进入对应目录 以MySQL为例 执行命令cd etc mysql
  • HTML学习

    HTML 我的第一个网页 基本标签 图片标签 链接标签 列表 表格 媒体元素 页面结构分析 iframe内联框架 表单 我的第一个网页
  • Hystrix 简单请求合并

    频繁的调用provider接太浪费了 就有了将多个请求合并为一个请求的方式 首先在provider中提供一个请求合并的接口 RestController public class UserController 既可以处理多个 也可以处理单个
  • elk之查询(单个或多个)type所有数据,条件查询,分页查询,排序

    java连接es 1 接口 查询 单个或多个 type所有数据 条件查询 分页查询 排序 param client param indexName param typeName public void searchAllStudent Tr
  • 服务计算hw7

    任务目标 设计一个 web 小应用 展示静态文件服务 js 请求支持 模板输出 表单处理 Filter 中间件设计等方面的能力 不需要数据库支持 基本要求 支持静态文件服务 支持简单 js 访问 提交表单 并输出一个表格 对 unknown
  • 服务器乱码专栏问题一:String.getBytes()获取值乱码

    本文建议阅读时长 15mins 前记 最近笔者工作比较繁忙 导致本来应该有很多博客需要填坑 一直也没有静下心来好好整理下 今天蹭着夜深人静加之阵阵柔和的轻音乐正好先写上一篇 也算是为自己乱码专栏开个头 当然本专栏主要解决Tomcat服务器以
  • 『虫无涯→_→读书推荐02期』|全面系统的〖Effective软件测试〗带你完成所有不同类型的测试,GO

    目录 我看的书 我的书评 推荐理由 书籍的作者 书籍内容 赠书活动 我看的书 首次看到这本书的封面的时候 我被那个数字惊呆了 助理软件研发提升10倍质量 这对我产生了足够了吸引力 因为这个数字是非常的客观的 至于书籍内容 大家别急 且听我慢
  • QPainter::setPen: Painter not active 解决方案

    今天在写代码的时候用到QPainter在窗口中绘制一些图形 出现错误 QPainter setPen Painter not active 百度上搜了也问了chatGPT没有很好的答案 无奈只好打开Qt API找问题 在Qt 文档中发现如下
  • Kerberos

    kerberos身份认证过程 第一步 账号和KDC互相认证 账号A向KDC证明自己的身份 1 账号A首先会把自己的密码hash 得到一把秘钥Kclt 2 Kclt会把当前的时间戳加密 生成一个字符串 使用 时间戳 Kclt来表示 3 将生成
  • SpringBoot打包docker镜像发布

    1 首先构建一个SpringBoot项目 只需要添加web依赖 2 编写一个controller用于测试 3 本机启动观察是否能够成功访问 4 打包 5 找到生成的jar包位置 6 jar包的启动运行测试 7 编写Dockerfile文件