nexus3私有仓库构建(yum)

omanik 2024-8-3 165 8/3

一、nexus3环境搭建

Nexus3是一个仓库管理器,平常我们访问仓库拉取镜像,都是从服务的官方(或者国内的镜像)获取,但假如你的生产环境的服务器无互联网访问权限,此时需要在局域网一个有互联网访问权限的服务器上搭建一个私有的仓库,这样其他没有互联网访问权限的服务器可以通过已搭建的私库仓库来下载安装如Maven、apt、yum、gradle、pypi、docker等等,就像是直接通过互联网下载一样。

1.软件安装

软件可以使用docker或者二进制安装,这里为了省去环境配置的问题采用docker安装,首先项目地址如下https://hub.docker.com/r/sonatype/nexus3/

nexus3私有仓库构建(yum)点击tags后会有各种版本,其中3.70.1-java17-alpine指使用的是Java 17基于Alpine Linux构建的版本,3.70.1-java17-ubi指使用的是Java 17基于UbuntuLinux构建的版本,其它的以此类推,笔者采用标准版本3.70.1

nexus3私有仓库构建(yum)选好你的版本以后你可以直接复制命令拉取,也可先创建一个docker compose.yaml提前配置好参数再拉取,

mkdir nexus3 
cd nexus3/ 
vim docker-compose.yaml

内容如下:

version: "3"
services:
  nexus3:
    image: sonatype/nexus3:3.70.1
    restart: unless-stopped
    ports:
      - 8081:8081
    volumes:
      - nexus-data:/nexus-data

volumes:
  nexus-data:
    driver: local

在image中修改版本,ports中修改映射端口,volumes中修改映射目录,拉取镜像时由于不可抗拒的原因,需要把镜像加速地址改一下

vim /etc/docker/daemon.json
#加上如下内容:
{
  "registry-mirrors": ["http://154.37.220.48:51000"]
}
#该镜像加速地址限速,请自行寻找找线路更佳地址

更改完成后在目录下执行开始拉取镜像

docker-compose up -d

拉取完成后大概需要十分钟进行初始化,待初始化完成后访问http://localhost:8081/

2.密码修改

初始化完成后访问http://localhost:8081/会出现如下界面

nexus3私有仓库构建(yum)点击右上角登陆以后会提示在如下目录查看密码

nexus3私有仓库构建(yum)

去终端输入如下命令查看密码

docker-compose exec nexus3 cat /nexus-data/admin.password

账号admin填写上复制的密码以后点击登陆会出现如下界面

nexus3私有仓库构建(yum)点击next后修改密码,然后就是一路next直到登陆进去。遇到这里时选择允许。

nexus3私有仓库构建(yum)

二、yum私有仓库配置

本次仅配置yum proxy仓库,流程如下

1.创建Blob Stores

nexus3私有仓库构建(yum)

2.配置存储、名字

nexus3私有仓库构建(yum)

3.创建Repositories

nexus3私有仓库构建(yum)

4.创建yum-proxy代理,并写入镜像地址https://mirrors.aliyun.com/centos/ 此源为基础软件包源、额外软件包源、更新源

nexus3私有仓库构建(yum) nexus3私有仓库构建(yum)

5.创建yum-proxy代理,并写入镜像地址https://mirrors.aliyun.com/epel/此源为附加软件包源。步骤如上,只是把镜像地址换一下。

6.创建yum-group组,并把proxy代理加入进去。

nexus3私有仓库构建(yum) nexus3私有仓库构建(yum) nexus3私有仓库构建(yum)

7.再创建一个yum-group组,并把第二个proxy代理加入进去。

8.此时nexus3配置完成,接下来复制自建源地址并去服务器上配置

nexus3私有仓库构建(yum) nexus3私有仓库构建(yum)

三、服务器配置自建yum源

1.旧源备份

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
Centos-7.repo  CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@localhost yum.repos.d]# mkdir repo_bak
[root@localhost yum.repos.d]# mv *.repo repo_bak/

2.编辑新源(基础软件包源、更新源、额外软件包源)

[root@localhost yum.repos.d]# vim nexus.repo

[nexusrepo]
name=Nexus Repository
baseurl=http://172.16.6.137:8081/repository/yum/$releasever/os/$basearch/
enabled=1
gpgcheck=0

[updates]
name=Nexus_updates
enabled=1
baseurl=http://172.16.6.137:8081/repository/yum/$releasever/updates/$basearch/
gpgcheck=0

[extras]
name=Nexus_extras
enabled=1
baseurl=http://172.16.6.137:8081/repository/yum/$releasever/extras/$basearch/
gpgcheck=0

2.编辑新源(附加软件包源)

[root@localhost yum.repos.d]# vim nexus_epel.repo

[nexusepel]
name=nexus_epel
enabled=1
baseurl=http://172.16.6.137:8081/repository/yum-epel/$releasever/$basearch/
gpgcheck=0

3.更新客户端的yum源

yum clean all
yum makecache

4.验证下载

[root@localhost yum.repos.d]# yum install iftop
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 iftop.x86_64.0.1.0-0.21.pre4.el7 将被 安装
--> 解决依赖关系完成

nexus3后台缓存

nexus3私有仓库构建(yum)

四、尾声

为了搭建nexus的私有仓库,将网上的教程翻了很多遍,也踩了不少坑,其中大多数在配置客户端repo文件时,都没有写全,因为除了系统源,大多数的软件其实都在附加软件包源,就拿ifto举例,如果只配置了基础软件包源将会有如下表现

nexus3私有仓库构建(yum) nexus3私有仓库构建(yum)

只有把额外软件包源、附加软件包源都配置上可以

nexus3私有仓库构建(yum)

- THE END -
Tag:

omanik

8月03日14:11

最后修改:2024年8月3日
0

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论