分享好友 最新动态首页 最新动态分类 切换频道
Docker、Jenkins、Harbor 构建镜像部署 SpringBoot 项目
2024-12-27 05:38

Harbor 是由 VMware 公司开源的企业级的 Docker Registry 管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能,具有 web 管理功能,有了它之后能够很方便的管理容器镜像,搭配 Jenkins 使用很是方便。

Harbor 由多个组件组成,每个组件都是以 Docker 容器的形式构建的,因此,我们使用 Docker Compose 来对它进行部署。用于部署 Harbor 的 Docker Compose 模板位于 harbor/docker-compose.yml 中,这个模板文件中有多个镜像定义,常见有:harbor-log、harbor-db、harbor-core、harbor-portal等等,版本不一样,所以依赖的容器熟练不一样,需要借助 docker-compose 去加载 docker-compose.yml 工程配置文件来启停 Harbor 组件容器。

所以我们需要提前安装好Docker Compose

1、下载 Docker Compose,设置权限

 
 

1、下载安装包

官网地址:https://goharbor.io/

下载地址: https://github.com/goharbor/harbor/releases

这里直接用 wget 下载,可能会因为网络问题下载比较慢,这里可以自行使用迅雷下载,下载完成后上传到相应的服务器上

wget 方式下载(比较慢:wget https://github.com/goharbor/harbor/releases/download/v2.5.1/harbor-offline-installer-v2.5.1.tgz

2、解压配置

 

barbor.yml示例如下

 

编辑完执行 install.sh 脚本进行安装

 

报了一个错误,提示我现在的版本是 1.13.1 ,需要安装 17.06.0 以上的版本

 

第一步

 

第二步

 

重新执行 install.sh 安装 harbor

 

4、访问 harbor

 
 

这里我只用了同一台服务器配置,如果大家有多个服务器的,可以在另一台安装 docker,编辑 daemon.json 把 IP 修改成安装 harbor服务器的 IP 即可。

 

执行 push 时出现以下错误

 

原因分析
错误提示对存储库访问未经授权,这是因为 harbor 上的访问认证导致的,需要在服务器上进行 harbor 仓库登录。

 
 

另外一种登陆

 
 

登录以后我们再次推送

 
 

这里我们删除镜像再从仓库 pull 下来

 
 
 
 
 

如果要借助 Jenkins、Maven 等工具将构建好的Docker images push 到某个服务器的 Docker 上,就必须开启该服务中 Docker 的远程连接接口。比如,我通过 Jenkins 将镜像推送到 192.168.2.129 的 Docker 服务里面,就在这个服务里面配置 Docker。

1、编辑 Docker 服务的配置文件

 
 

在 ExecStart 这里加入如下内容

 

在 /etc/docker/daemon.json 中写入以下内容

 
 
 
 

4.1、引入 Docker 插件

 

4.2、编写 Dockerfile

 

这里需要主要一点:Dockerfile 文件和 pom.xml 同一级才能生效,不然 jenkins 构建会报错

push 代码到 gitee 上面

4.3、jenkins 中在创建的任务中配置打包构建并且 images 镜像推送

最后启动镜像

 
 
 
 

这里有个问题就是,因为我所有的操作都是在同一个服务器完成,在实现功能的过程中出现了很多的问题,最后都找到解决的办法,大家可以实现多服务器分配操作不同的功能,例如

名称IP地址安装软件基础服务器192.168.0.1Docker、Jenkins、SonarQube、JDK、Maven、GitDocker仓库服务器192.168.0.2Docker、Harbor部署应用服务器192.168.0.3Docker

大致的流程图如下

最新文章
英文seo
英文SEO(Search Engine Optimization)是一种通过优化网站内容和结构,提高网站在搜索引擎中排名的技术。它包括关键词研究、内容创建、链接建设、网站架构优化等多个方面。通过SEO技术,可以提高网站的曝光率,吸引更多的潜在客户,并最终
谷歌SEO营销攻略,解锁网站流量与品牌声望提升之道
谷歌SEO营销策略旨在提升网站流量和品牌知名度。通过关键词优化、高质量内容创作、链接建设、移动优化等技术手段,提升网站在谷歌搜索结果中的排名。利用社交媒体、付费广告等渠道扩大品牌影响力,吸引更多潜在客户,实现网站流量和品牌价
腾讯云发布DI-X深度学习平台,AI布局全面提速
3月28日,腾讯云宣布推出DI-X深度学习平台,进一步开放腾讯在AI领域的领先能力,助力企业驶入人工智能快车道。随着DI-X平台的发布,腾讯云在AI领域的全线布局也浮出水面:从IaaS基础设施、AI平台服务、AI基础服务、AI应用服务,到垂直行业
高清美女写真生成器评测:解锁AI绘画的无限可能!
步骤二:选择功能在首页,选择“高级生图”选项,进入后就可以看到多种图像风格供选择。步骤三:输入文本描述在生成页面,用户只需输入对想要生成美女的详细描述,比如“清新自然的夏日穿搭”或“优雅的晚礼服”,然后点击生成按钮。步骤四
用AI画美女:一键生成我的超逼真AI女友!
Midjourney:作为一款广受欢迎的AI艺术生成工具,Midjourney使用起来也相当简单。用户能够使用Discord平台下的命令进行艺术创作。其生成结果色彩丰富,适合追求栩栩如生效果的艺术家。然而,由于其使用仍需小白用户做一些配置,因此对新手
网店转让合同协议书范本(精选6篇)
网店转让合同协议书是保护转让方和受让方权益的重要法律文件,详细描述转让的网店,包括网店名称、平台、店铺类型、经营状况等。以下是小编为大家整理的关于网店转让合同协议书范本(精选6篇)的内容,供大家参考,希望能够给大家带来借鉴或
获取网站Alexa排名数值的方法
  网络上有很多文章介绍如何自动抓取网站的Alexa排名,但是仔细一看发现抓取到的数据(Alexa排名数值)被Alexa加入了很多干扰元素,如果只是要将数据(Alexa排名数值)显示在页面倒没有什么问题
苹果发布 iOS 18.3/iPadOS 18.3 首个测试版,Siri 智能化升级
快科技于 12 月 17 日发布消息称,今日苹果公司向开发者推送了 iOS 18.3/iPadOS 18.3 的首个测试版本(iOS 18.3/iPadOS 18.3 Beta 1)。目前,苹果尚未公布 iOS 18.3 的具体功能细节。但根据此前苹果公布的更新路线图可知,iOS 18.3 将进一
第一批抢跑的人,用Al搞了上千万?
作者 | 王沁编辑 | 苗正卿虎嗅注:敢赚钱的人,在任何时代都能赚到钱。从下海经商、房地产、外贸、移动互联网,他们追逐一个又一个风口,只不过当下的风口是AI——存量经济下少有的新增量。当很多人对AI无动于衷或者恐惧时,AI淘金者已经冲
理想作文1500字左右(二十五篇)
虽然有地话很老土,但是依然有人乐意听。这就是人地心理。相同地话听几百遍也不觉得烦,说话地人也不觉得累。“为你们地理想而奋斗吧”下课铃响起之际老师意味深长地说出这句话。老师每天都会重复这句话,学生也每天都在听。日子暗淡无光,
相关文章
推荐文章
发表评论
0评