docker - maven 插件自动构建镜像(构建镜像:ebuy-docker:v2.0)

文章目录

  • 1、docker服务端开启远程访问
  • 2、在pom.xml文件plugins下添加Maven的docker插件
  • 3、编写dockerfile文件
  • 4、执行maven的打包命令
  • 5、查看 镜像 ebuy-docker:v2.0
  • 6、创建 容器 ebuy-dockerv2.0

上面手动构建镜像的过程比较繁琐,使用Maven的docker插件可以实现镜像的自动化部署。

步骤:

1、开启docker服务端的远程访问

2、在pom.xml文件中添加Maven的docker插件

3、在工程的根目录下创建dockerfile文件

4、使用maven的打包命令进行打包

5、创建容器并访问

实操:

1、docker服务端开启远程访问

#修改该文件
vim /lib/systemd/system/docker.service#找到ExecStart行,修改成如下内容
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock#重启守护进程
systemctl daemon-reload	
#重启docker
systemctl restart docker	
[root@localhost ~]# vim /lib/systemd/system/docker.service

在这里插入图片描述
在这里插入图片描述

[root@localhost ~]# systemctl daemon-reload 
[root@localhost ~]# systemctl restart docker

2、在pom.xml文件plugins下添加Maven的docker插件

<plugin>              <groupId>com.spotify</groupId><artifactId>docker-maven-plugin</artifactId><version>1.2.2</version><!--将插件绑定在某个phase执行--><executions><execution><id>build-image</id><!--将插件绑定在package这个phase(阶段)上。也就是说,用户只需执行mvn package,就会自动执行mvn docker:build--><phase>package</phase><goals><goal>build</goal></goals></execution></executions><configuration><!--指定生成的镜像名--><imageName>${project.artifactId}</imageName><!--指定标签,也就是版本号,可以自定义--><imageTags><imageTag>v2.0</imageTag></imageTags><!--指定远程 docker api地址 也就是服务器ip+docker的端口号--><dockerHost>http://192.168.74.148:2375</dockerHost><!-- 指定 dockerfile 路径--><dockerDirectory>${project.basedir}</dockerDirectory><!-- 是否跳过docker构建 --><skipdockerBuild>false</skipdockerBuild></configuration></plugin>

3、编写dockerfile文件

注意:dockerfile文件 和 pom.xml 处于同一个目录、关闭防火墙
在这里插入图片描述

FROM centos7-jdk17
MAINTAINER atguigu
EXPOSE 8081
ADD target/ebuy-docker-1.0-SNAPSHOT.jar /ebuy-docker-1.0-SNAPSHOT.jarWORKDIR /
ENTRYPOINT ["java" , "-jar" , "ebuy-docker-1.0-SNAPSHOT.jar"]

4、执行maven的打包命令

# 打包跳过测试
mvn clean package -DskipTests		
# 打包跳过测试的同时跳过构建
mvn clean package -DskipTests -DskipdockerBuild		

在这里插入图片描述

5、查看 镜像 ebuy-docker:v2.0

在这里插入图片描述

6、创建 容器 ebuy-dockerv2.0

docker run -d \--name ebuy-dockerv2.0 \-p 8082:8081 \ebuy-docker:v2.0
[root@localhost ~]# docker run -d \
>     --name ebuy-dockerv2.0 \
>     -p 8082:8081 \
>     ebuy-docker:v2.0
ed751397ce5335b0d20c357e7a185e6dc92d0a48e4f3839d605245d93ebc1747
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE                    COMMAND                   CREATED          STATUS          PORTS                                                                   NAMES
ed751397ce53   ebuy-docker:v2.0         "java -jar ebuy-dock…"   21 seconds ago   Up 20 seconds   0.0.0.0:8082->8081/tcp, :::8082->8081/tcp                               ebuy-dockerv2.0
903246a96cb1   portainer/portainer      "/portainer"              22 hours ago     Up 30 minutes   8000/tcp, 9443/tcp, 0.0.0.0:10010->9000/tcp, :::10010->9000/tcp         portainer
99bdd2331b79   mongo:7.0.0              "docker-entrypoint.s…"   28 hours ago     Up 30 minutes   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp                           mongodb
8c71efe9dca7   wurstmeister/zookeeper   "/bin/sh -c '/usr/sb…"   5 weeks ago      Up 30 minutes   22/tcp, 2888/tcp, 3888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp   zookeeper
c14772057ab8   redis                    "docker-entrypoint.s…"   9 months ago     Up 30 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp                               spzx-redis
ab66508d9441   mysql:8                  "docker-entrypoint.s…"   9 months ago     Up 30 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp                    spzx-mysql

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

混合专家模型在大模型微调领域进展

前言&#xff1a;随着大规模语言模型&#xff08;LLM&#xff09;的快速发展&#xff0c;人工智能在自然语言处理领域取得了巨大的进步。在将大模型转化为实际生产力时&#xff0c;不免需要针对实际的任务对大模型进行微调。然而&#xff0c;随着模型规模的增长&#xff0c;微调…

【最新华为OD机试E卷-支持在线评测】分苹果(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

[Linux][进程][进程的七种状态]

进程状态是操作系统用来管理进程的一种手段&#xff0c;操作系统通过动态的调整进程状态来合理的分配资源&#xff0c;维护整个系统的生态。 // Linux内核对进程各个状态的定义&#xff0c;Linux系统的进程的状态不考虑/* * The task state array is a strange "bitmap&qu…

尚庭公寓-接口定义

5. 接口定义 5.1 后台管理系统接口定义 5.1.1 公寓信息管理 5.1.1.1 属性管理 属性管理页面包含公寓和房间各种可选的属性信息&#xff0c;其中包括房间的可选支付方式、房间的可选租期、房间的配套、公寓的配套等等。其所需接口如下 房间支付方式管理 页面如下 所需接口如…

【笔记】如何将本地的.md变成不影响阅读的类pdf模式

在1处搜索markdown viewer 在2处勾选url复选框 将需要阅读的md文件的本地路径去除双引号&#xff08;如果没有双引号不必做任何处理&#xff09; 直接放进浏览器url地址栏 正常显示图片与文字 解决

如何将泰语入门提高到精通呢?

要精通泰语&#xff0c;需要从基础的字母和发音开始学习&#xff0c;并通过积累词汇、频繁练习口语、沉浸在语言环境中来不断提高。参加在线课程或找专业教师进行系统性学习也很有帮助。此外&#xff0c;利用各种教材和在线资源&#xff0c;以及保持持续和一致的学习态度&#…

【线程】线程池

线程池通过一个线程安全的阻塞任务队列加上一个或一个以上的线程实现&#xff0c;线程池中的线程可以从阻塞队列中获取任务进行任务处理&#xff0c;当线程都处于繁忙状态时可以将任务加入阻塞队列中&#xff0c;等到其它的线程空闲后进行处理。 线程池作用&#xff1a; 1.降…

Teams集成-订阅事件处理

在Teams会议侧边栏应用开发-会议转写-CSDN博客的基础上&#xff0c;使用/delta接口尝试获取实时转写&#xff0c;发现只能更新了一次&#xff0c;然后就不再更新了&#xff0c;想尝试使用订阅事件去获取转写&#xff0c;发现也不是实时的&#xff0c;当会议结束时&#xff0c;订…

排序题目:对角线遍历 II

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;对角线遍历 II 出处&#xff1a;1424. 对角线遍历 II 难度 6 级 题目描述 要求 给定一个二维整数数组 nums \texttt{nums} nums&#xff0c;将 …

阅读记录:iCaRL: Incremental Classifier and Representation Learning

1. Contribution 提出了一种新的训练策略&#xff0c;iCaRL&#xff1a;允许以增量方式学习&#xff1a;只需要同时存在一小部分类别的训练数据&#xff0c;新类别可以逐步添加。同时学习分类器和数据表示&#xff1a;iCaRL能够同时学习强大的分类器和数据表示&#xff0c;这与…

vscode【实用插件】Markdown Preview Enhanced 预览 .md 文件

安装 在 vscode 插件市场的搜索 Markdown Preview Enhanced点安装 使用 用 vscode 打开任意 .md 文件右键快捷菜单 最终效果 可打开导航目录

有哪些小众但高逼格的蓝牙耳机推荐?百元开放式耳机推荐大赏

如今的耳机市场中&#xff0c;主流品牌的影响力不容小觑。然而&#xff0c;还有一些小众的耳机品牌&#xff0c;犹如未被发掘的珍宝&#xff0c;静候着人们去探索。这些小众品牌或许没有进行大规模的广告推广&#xff0c;但它们凭借独特的设计、出色的音质以及对品质的不懈坚持…

需求: 通过后台生成的树形结构,返回给前台用于动态生成表格标题,并将对应标题下面的信息对应起来

1. 如图所以&#xff0c;完成以下内容对应 2. 代码示例如下&#xff0c; 动态生成树形结构列名称&#xff0c;并将表格中存在的值与其对应起来 /*** 查询资源计划列表** param resourcePlan 资源计划* return 资源计划*/Overridepublic Map<String, Object> selectResour…

【通俗易懂】FFT求解全过程,各参数详细解释

在进行FFT全过程讲解之前&#xff0c;小编先给大家解释一下&#xff0c;在FFT中出现的一些参数名词解释。 &#xff08;1&#xff09;采样频率 Fs Fs 1 / 采样间隔 根据奈奎斯特定理&#xff1a;Fs ≥ 最高频率分量的两倍&#xff0c;这样才能避免混叠 &#xff08;2&…

CAT1 RTU软硬件设计开源资料分析(TCP协议+Modbus协议+GNSS定位版本 )

01 CAT1 RTU方案简介&#xff1a; 远程终端单元( Remote Terminal Unit&#xff0c;RTU)&#xff0c;一种针对通信距离较长和工业现场环境恶劣而设计的具有模块化结构的、特殊的计算机测控单元&#xff0c;它将末端检测仪表和执行机构与远程控制中心相连接。 奇迹TCP RTUGNS…

Alertmanager 路由匹配

Alertmanager主要负责对Prometheus产生的告警进行统一处理&#xff0c;因此在Alertmanager配置中一般会包含以下几个主要部分&#xff1a; 全局配置&#xff08;global&#xff09;&#xff1a;用于定义一些全局的公共参数&#xff0c;如全局的SMTP配置&#xff0c;Slack配置等…

uni-app canvas文本自动换行

封装 // 填充自动换行的文本function fillFeedText({ctx, text, x, y, maxWidth, lineHeight, color, size}) {// 文本配置ctx.setFontSize(size);ctx.setFillStyle(color);// 计算文本换行宽高&#xff0c;换行逻辑const words text.split();let line ;const lines [];for …

en造数据结构与算法C# 二叉树的顺序存储和前中后序遍历

二叉树的序号和索引区别 二叉树的顺序存储代码 我用的是List表&#xff0c;只要是线性表就都能实现二叉树 public class Tree<T> : MonoBehaviour {private List<T> bitTree new List<T>();//添加顺序存储方法public void AddTree(T[] values){for(int i…

2024最新盘点:推荐几款主流的采购管理系统

大家都明白采购对制造型企业的重要性&#xff0c;但是在面对市场上琳琅满目的采购管理系统企业却不知道该如何选择&#xff0c;不要担心。 本篇文章将对市面上知名的采购管理系统进行综合测评&#xff0c;深入剖析这些平台的特点与优势。看完这篇内容&#xff0c;你将对不同采…

这本书简直就是自然语言处理学习者的福音!

自然语言处理被誉为“人工智能皇冠上的明珠”! 深度学习等技术的引入为自然语言处理技术带来了一场革命&#xff0c;近年来也出现了自然语言处理的新范式。 早期的静态词向量预训练模型&#xff0c;以及后来的动态词向量预训练模型&#xff0c;特别是2018 年以来&#xff0c;…