问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Nexus3代理仓库搭建与配置指南

创作时间:
作者:
@小白创作中心

Nexus3代理仓库搭建与配置指南

引用
1
来源
1.
https://www.cnblogs.com/hukey/p/18532480

Nexus3 是一个功能强大的仓库管理工具,可以用来搭建私有仓库,支持多种类型的软件包管理,包括Maven、npm、Docker等。本文将详细介绍如何在CentOS系统上使用Docker容器安装和配置Nexus3代理仓库,实现前端、后端和Docker镜像的统一管理。

环境准备

  • 主机配置:建议使用4核8G或以上配置
  • 操作系统:CentOS 7.9
  • Docker版本:26.1.4
  • Nexus版本:3.66.0-02

安装Nexus3

创建Nexus数据目录

mkdir -pv /data/nexus
mkdir nexus-data
chown -R 200:200 nexus-data/

编写启动脚本

#!/bin/bash
docker run -d \
--name nexus \
-p 8081:8081 \
-p 8000:8000 \
-p 8010:8010 \
--restart always \
-v $PWD/nexus-data:/nexus-data \
sonatype/nexus3:latest

启动Nexus容器

chmod +x run.sh
./run.sh

配置Nexus3

登录Nexus控制台

访问 http://192.168.199.61:8081/

默认账号:admin

密码获取方法:

docker exec -it nexus bash
cat /nexus-data/admin.password

配置网络代理

登录成功后,点击齿轮图标,进入系统设置,配置HTTP代理。

关闭升级提示

点击齿轮图标 -> System -> Capabilities -> Outreach: Management -> Disable

配置Docker仓库

创建存储仓库

选择File类型,命名为dockerhub。

配置本地仓库

  • 名称:docker-hosted
  • HTTP端口:8010
  • 允许Pull权限
  • 兼容Docker v1接口
  • 数据存储在dockerhub中

配置代理仓库

  • 名称:docker-proxy
  • 不开启HTTP端口
  • 允许Pull权限
  • 兼容Docker v1接口
  • Proxy Remote Storage:https://registry-1.docker.io
  • 数据存储在dockerhub中

配置仓库组

  • 名称:docker-all
  • HTTP端口:8000
  • 允许Pull权限
  • 兼容Docker v1接口
  • 数据存储在dockerhub中

配置Docker客户端

编辑/etc/docker/daemon.json文件,添加以下内容:

{
  "insecure-registries": [
    "192.168.199.61:8000",
    "192.168.199.61:8010"
  ],
  "registry-mirrors": [
    "http://192.168.199.61:8000",
    "http://192.168.199.61:8010"
  ]
}

重启Docker服务:

systemctl restart docker

登录Nexus仓库:

docker login -u admin -p admin123 192.168.199.61:8010

前端Node代理仓库配置

创建npm存储仓库

选择File类型,命名为npm。

配置npm代理仓库

使用npm仓库

在前端项目目录中运行:

docker run -it --rm -v /root/frontend:/app node:15.2.0 bash
cd /app
npm install --legacy-peer-deps --registry=http://192.168.199.61:8081/repository/npm-proxy/
npm run build

后端Maven代理仓库配置

创建Maven存储仓库

选择File类型,命名为mvn。

配置Maven代理仓库

配置Maven客户端

编辑settings.xml文件:

<mirrors>
    <mirror>
        <id>nexus3</id>
        <mirrorOf>*</mirrorOf>
        <name>nexus3</name>
        <url>http://192.168.199.61:8081/repository/mvn-proxy/</url>
    </mirror>
</mirrors>

使用Maven仓库

在后端项目目录中运行:

docker run -it --rm -v /root/settings.xml:/root/.m2/settings.xml -v /root/backend:/app maven:3.6.1-jdk-8 bash
cd /app
mvn clean install -Dmaven.test.skip=true

通过以上步骤,我们成功搭建了一个基于Nexus3的私有仓库,实现了前端、后端和Docker镜像的统一管理。这不仅提高了开发效率,还确保了内网环境的安全性和稳定性。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号