type
status
date
slug
summary
tags
category
icon
password
Property
Mar 4, 2024 12:02 PM

目的

学习 Nexus 制品库的介绍与安装

介绍

在前面我们写到,制品库是承接 CI 构建后的产出制品的仓库,具有版本管理,历史管理,权限校验等功能。
在这里,我们选用 Nexus3 作为制品库。

正式开始

拉取镜像

notion image
image

启动容器

新建一个名为 nexus 的文件夹,方便我们存放 Nexus 相关数据,并赋予权限。
notion image
image

创建容器

notion image
image
  • Nexus 主服务端口,我们设置为 8081,;但是还需要新分配一个端口为服务端口,这里采用的是 8082

防火墙

将对应端口添加到防火墙
notion image
image

访问 Nexus

打开浏览器地址栏,访问 Nexus 的服务地址,这里是 ip:8001。启动时间比较长,可以使用docker logs -f nexus查看日志,如果显示以下文字Started Sonatype Nexus OSS 3.25.1-04就代表成功
notion image
image

配置 Nexus

我们访问ip:8001就可以看到界面了。
notion image
image

登录

我们可以使用默认账号:admin登录,默认的密码在cat /home/nexus/admin.password可以查看。
注意不包含#号
notion image
image
当我们初次进入之后会让我们设置一下初始密码,和登录的权限。

匿名访问性

设置密码之后需要设置访问性,我们在任何没有登录的情况下,拉取(推送)制品到制品库,都算匿名访问。,在实际生产中是不安全的,我们测试可以开启。
notion image
image

创建一个 Docker 私服

点击设置,选择左侧菜单中的 Repositories ,点击 Create repository
notion image
image
使用搜索 docker 可以快速定位
notion image
image
制品库的类型
  • proxy: 此类型制品库原则上 “只下载,不允许用户推送”。可以理解为缓存外网制品的制品库。例如,我们在拉取 nginx 镜像时,如果通过 proxy 类型的制品库,则它会去创建时配置好的外网 docker 镜像源拉取(有点像 cnpm)到自己的制品库,然后给你。第二次拉取,则不会下载。起到 缓存 的作用。
  • hosted:此类型制品库和 proxy 相反,原则上 只允许用户推送,不允许缓存 。这是私有库的核心,只存放自己的私有镜像或制品。
  • group:此类型制品库用作以上两种类型的 集合 ,将上面两个库集合为一个使用。
这里我们采用 hosted 类型,点击创建会看到一些输入框,这里做简单的解释。
notion image
image
同时我们还要设置一下权限,在 Security-Realms 的 Docker Bearer Token Realm 选择到右边的激活状态。
notion image
image

小试牛刀-登录

安装至此,我们在另一台机器上试一下。
在这里,我的架构是两台虚拟机,一台是 gitlab 和 jenkins,一台是 nginx 和 Nexus。所以,我们就在 gitlab 的机器上尝试。

配置文件

我们在 gitlab 配置文件,vim /etc/docker/daemon.json
notion image
image
最后记得使用systemctl restart docker重启一下 注意这里是 json 格式,格式不能错

登录

登录一下。从图中可以看出。初次登录需要输入账号密码,后续登录就不需要了。
notion image
image

小试牛刀-推送镜像到制品库

我们可以使用 docker push 推送镜像到私服上面。
docker 在推送一个镜像时,镜像的 Tag (名称:版本号) 必须开头带着镜像库的地址,才可以推送。例如下面两个镜像: 😡 local/jenkins 不能推送 😃 192.168.182.4:8082/local/jenkins 可以推送。

制作镜像

1.制作一份带镜像库地址的镜像:这个可以做,但是开销太大,需要走一遍制作流程
2.使用 docker tag 命令给已有的镜像打个标签:推荐使用,会将已有的镜像归位某个镜像库内。
notion image
image
notion image
image

推送

notion image
image
在仓库可以看到上传的
notion image
image

结语

我们在这部分实现了 docker 私服的搭建和 push,接下来我们将构建代码并且推送到私服。敬请期待吧!
CICD实战之Jenkins构建前端镜像并上传到制品库再学一次JS原型
  • Waline
Kitety
Kitety
独特为佳
公告
我曾经七次鄙视自己的灵魂
--卡里·纪伯伦
第一次,当它本可进取时,却故作谦卑;
第二次,当它在空虚时,用爱欲来填充;
第三次,在困难和容易之间,它选择了容易;
第四次,它犯了错,却借由别人也会犯错来宽慰自己;
第五次,它自由软弱,却把它认为是生命的坚韧;
第六次,当它鄙夷一张丑恶的嘴脸时,却不知那正是自己面具中的一副;
第七次,它侧身于生活的污泥中,虽不甘心,却又畏首畏尾。
 
最新评论
Loading...