【docker】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。

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

3.启动镜像
docker run -d test

 

4.查看实例
docker ps -a

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从哈希桶角度看 unordered_map 与 unordered_set 的实现

文章目录 一、引言二、C unordered系列的无序关联式容器概览三、基于哈希桶的C unordered系列数据结构模拟实现1、unordered_map的模拟实现2、unordered_set的模拟实现3、哈希桶及其迭代器实现的代码 四、扩展与应用1. 自定义哈希函数2. 其他unordered数据结构unordered_multim…

蓝桥杯/慈善晚会/c\c++

问题描述 热心公益的G哥哥又来举办慈善晚会了,这次他邀请到了巴菲特、马云等巨富,还邀请到了大V、小C等算法界泰斗。晚会一共邀请了n位尊贵的客人,每位客人都位于不同的城市,也就是说每座城市都有且仅有一位客人。这些城市的编号为…

大模型知识库

一种利用 langchain 思想实现的基于本地知识库的问答应用,目标期望建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。 1. 下载Langchain-chatchat git clone https://github.com/chatchat-space/Langchain-Chatchat/ 2. 下载大模型和embe…

c++ 自己实现一个迭代器

具体代码 /*自定义迭代器的实现 */ #include <iostream> using namespace std; class num {int val; //具体的数字int length; //数字的位数void calculate_length(){if(val/100){ //这个数字只有1位length1;return;}int x10; //这里就是不断重复除直…

python连接mysql数据库步骤

连接MySQL数据库通常需要使用第三方库&#xff0c;而在Python中&#xff0c;mysql-connector-python 是一个常用的 MySQL 连接库。以下是连接 MySQL 数据库的步骤&#xff1a; 安装 MySQL 连接库&#xff1a; 使用以下命令安装 mysql-connector-python&#xff1a; pip insta…

汽车电子零部件(8):T_Box

前言: 网联汽车(Connected Vehicles ,CV)是一个广泛的概念,四个主要的CV线程已发展起来:互联、自主、共享和电动。这些应用于包括CV在内的垂直领域:汽车、通信、互联网和共享手机服务。中国汽车工程师学会(SAEC)提倡将车载ADAS(高级驾驶员辅助系统)与通信技术相结合…

gitlab仓库使用流程(开发)

1.1.GitLab代码提交流程&#xff1a; 1.1.1准备阶段&#xff1a; 确保已经安装了Git&#xff0c;并且配置了正确的用户名和邮箱地址。 在本地创建一个新的文件夹&#xff0c;用于存放即将开发的代码。 1.1.2.拉取代码&#xff1a; 使用git clone命令从GitLab上拉取项目代码…

基于python的在线学习与推荐系统

技术&#xff1a;pythonmysqlvue 一、系统背景 当前社会各行业领域竞争压力非常大&#xff0c;随着当前时代的信息化&#xff0c;科学化发展&#xff0c;让社会各行业领域都争相使用新的信息技术&#xff0c;对行业内的各种相关数据进行科学化&#xff0c;规范化管理。这样的大…

java数据库关系数据库设计(下)

目录 1.概念模型:E-R图 1.实体 2.属性 3.联系 4.实体间的映射关系 2.物理模型:数据库模型图 3.数据库规范设计 1.常见数据库设计问题 2.三大范式 1.第一范式 2.第二范式 3.第三范式 3.规范化和性能的关系 1.概念模型:E-R图 在数据库需求分析阶段&#xff…

阿里5年经验之谈 —— 接口测试用例如何编写?

接口测试用例如何编写&#xff1f;下面简单给大家讲解一下。 接口测试用例是目前软件开发中不可或缺的一个重要部分&#xff0c;因此编写接口测试用例同样重要。 接口测试用例的作用非常明显&#xff0c;它能够帮助我们了解产品正在考验、调整它如何表现在特定情境之下、产品…

每日一题:C语言经典例题之求n!

题目描述 输入一个正整数n&#xff08;1<n<12)&#xff0c;求n!。 输入 输入一个正整数n。 输出 输出n!。 样例输入&#xff1a; 3 样例输出&#xff1a; 6 代码&#xff1a; #include <stdio.h> int f(int n) {if(n1)return 1;else{return n*f(n-1);} } int main(…

01|模型IO:输入提示、调用模型、解析输出

Model I/O 可以把对模型的使用过程拆解成三块&#xff0c;分别是输入提示&#xff08;对应图中的Format&#xff09;、调用模型&#xff08;对应图中的Predict&#xff09;和输出解析&#xff08;对应图中的Parse&#xff09;。这三块形成了一个整体&#xff0c;因此在LangCha…

VScode 设置个性化背景(保姆级教程)

VS Code设置个性化背景的作用主要体现在以下几个方面&#xff1a; 提升编程体验&#xff1a;个性化背景能够让编程环境更符合个人的审美和习惯&#xff0c;使得长时间在VS Code中进行代码编辑时&#xff0c;能够保持愉悦的心情&#xff0c;从而提高编程效率。减少视觉疲劳&…

【工具】Mermaid + 大模型画流程图

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 引入使用画TCP三次握手了解历史人物 总结 引入 最近看面试文章关于TCP三次握手和…

数据预处理:重复值

数据重复值处理 数据重复值出现情况重复的记录用于分析演变规律重复的记录用于样本不均衡处理重复的记录用于检测业务规则问题 数据重复值出现情况 数据集中的重复值包括以下两种情况&#xff1a; 数据值完全相同的多条数据记录。这是最常见的数据重复情况。数据主体相同但匹…

云贝教育 |【技术文章】POSTGRESQL FDW应用

注: 本文为云贝教育 刘峰 原创&#xff0c;请尊重知识产权&#xff0c;转发请注明出处&#xff0c;不接受任何抄袭、演绎和未经注明出处的转载。 前言 Wrapper&#xff08;FDW&#xff09;是一项关键特性&#xff0c;它赋予数据库用户直接通过SQL语句访问存储于外部数据源的能…

【AcWing】蓝桥杯集训每日一题Day6|多路归并|贪心|1262.鱼塘钓鱼(C++)

1262.鱼塘钓鱼 1262. 鱼塘钓鱼 - AcWing题库难度&#xff1a;简单时/空限制&#xff1a;1s / 64MB总通过数&#xff1a;3449总尝试数&#xff1a;5251来源&#xff1a;《信息学奥赛一本通》算法标签枚举贪心堆多路归并 题目内容 有N个鱼塘排成一排&#xff0c;每个鱼塘中有一…

XAI之TDB:transformer-debugger的简介、安装和使用方法、应用案例之详细攻略

XAI之TDB&#xff1a;transformer-debugger的简介、安装和使用方法、应用案例之详细攻略 导读&#xff1a;小语言模型在处理一些任务时会出现无法明确解释的行为&#xff0c;难以细致追踪模型内部各个组件如神经元、注意力头等在推理过程中的作用。2024年3月12日&#xff0c;Op…

第二十六天-统计与机器学习SciPy,Scikit-Leaen

目录 1.介绍 2.使用scipy 1. 安装 2.拟合曲线 3.随机变量与概率分布 4.假设检验 5.参数检验 3.使用Scikit-Learn 1. 机器学习库&#xff0c;建立在numpy,scipy,matplotlib基础上 2.包含功能 3.安装 1.官网&#xff1a;https://scikit-learn.org 2.下载 3.线性回归…

一文掌握python函数式编程及应用实例(超详细及超多应用实例)(二)

一.命名空间和作用域: Python 的命名空间和作用域是两个密切相关的概念,它们共同决定了变量的可见性、生命周期以及如何在程序中查找变量。 a.命名空间(Namespace) 命名空间 是一个存储变量名称及其对应值的地方。在 Python 中,每个模块、函数或类都有其自己的命名空间…