• Docker 搭建 Nexus3 私服 | 基本操作


    1 Docker 安装 Nexus3

    1.1 创建目录

    在硬盘上创建 Nexus3 的主目录:

    mkdir -p /Users/yygnb/dockerMe/nexus3
    

    为该目录添加权限:

    chmod 777 -R /Users/yygnb/dockerMe/nexus3
    

    1.2 拉取镜像

    搜索镜像:

    docker search nexus3
    

    搜索结果:

    image-20220829111716623

    拉取镜像:

    docker pull sonatype/nexus3
    

    1.3 运行容器

    镜像拉取完毕后,便可运行容器,这里映射了 nexus-data 目录到上面创建的目录和三个端口。三个端口分别是:

    8081 - nexus3 服务端口
    8082 - host 镜像仓库的服务端口
    8083 - group 镜像仓库的服务端口
    

    运行容器:

    docker run -tid \
        -p 8081:8081 \
        -p 8082:8082 \
        -p 8083:8083 \
        -v /Users/yygnb/dockerMe/nexus3:/nexus-data \
        --name nexus3 \
        -e NEXUS_CONTEXT=nexus \
        sonatype/nexus3
    

    查看容器运行状态:

    docker ps -a | grep nexus3
    

    image-20220829112858590

    查看容器的日志:

    docker logs -f nexus3
    或
    docker logs -f 547b
    

    如果容器运行失败,尝试把 docker 内存和硬盘调大(Preferences --> Resources):

    image-20220829162526628

    重启 docker 后,重新启动容器:

    docker start nexus3
    

    1.4 访问私服

    容器启动后,在浏览器中访问:

    localhost:8081/nexus
    
    image-20220829141114397

    点击右上角”Sign in“按钮。第一次登录时,登录弹窗中会显示密码位于/nexus-data/admin.password。由于 /nexus-data 目录已经映射到磁盘的 /Users/yygnb/dockerMe/nexus3 目录,故可以在该目录查看到 admin.password 文件。也可以在控制台中进入容器查看:

    进入容器:

    docker exec -it nexus3 /bin/bash
    

    查看密码:

    cat /opt/sonatype/sonatype-work/nexus3/admin.password
    

    使用用户名"admin" 和上面查看到的密码登录。登录成功后,根据向导修改密码。

    在下一步配置匿名访问时,通常选择 Enable anonymous access,这样只有在上传包的时候需要 profile,拉取包时可以匿名。

    2 Nexus3 基本管理

    由于后面要分别讲述 JS 和 Java 使用 Nexus3 私服,两者都涉及到仓库创建,故单独把这一块提出来,后面便不再赘述。

    2.1 角色管理

    nexus3 支持创建角色和用户,可以创建一个角色,让该角色只能发布包到私服。

    1)进入角色管理界面,点击右上角的“Create Role”创建角色,如下图:

    image-20220829154804135

    2)Role Type 选择:nexus role

    3)分别填写角色 ID、名称、描述,权限选择:nx-repository-view-*-*-*

    image-20220829155334500

    4)填写完毕后保存该角色。

    2.2 用户管理

    创建完角色后,需要创建用户,给该用户分配 nx-deploy 的角色。

    在用户管理界面,点击 Create local user 按钮进入创建用户界面。在创建用户界面填写表单信息,并分配上一步创建的角色 nx-deploy 。

    id:syouyage
    password:111111
    email:heroyyg@126.com
    

    如下图:

    image-20220829162116200

    用户创建成功后,便可在用户列表中看到刚创建的用户。

    可以退出登录,测试使用刚才创建的用户名和密码登录nexus3。

    2.3 设置 Realms

    如果搭建 npm 私服,发布 JS 库时需要通过 npm login 等录,在发布的时候需要私服支持 npm bearer token 方式。

    进入 Realms 设置界面,将 npm Bearer Token Realm 选到右侧。如下图所示:

    image-20220829171950545

    2.4 仓库管理

    如下图进入仓库管理界面:

    image-20220829151153889

    在仓库列表界面可以点击 Create repository 按钮创建仓库,也可以点击其中某个仓库修改仓库信息或删除仓库。

    2.5 仓库类型

    点击 Create repository 按钮后,会进入选择仓库类型的界面(Select Recipe)。Nexus3 有三大种类型:hosted、proxy、group。

    image-20220829162417148

    1)hosted:宿主仓库,即本地仓库,该仓库存放本地项目产生的构建,无论是团队内部开发了通用组件库、公共 jar 等,都是发布到这里面。

    2)proxy:代理仓库,用来代理远程仓库,如代理 Maven 中央仓库等。

    3)group:仓库组,可以聚合上面两者。因为在开发过程中,某些包是远端的、某些包是内部私服中的,这样就对应了两个地址,使用仓库组将 hosted 和 group 聚合,暴露为一个地址。

    本文简单介绍了 Docker 环境下搭建 Nexus3 私服以及 Nexus3 私服的基本操作,后文将分别针对 npm(前端)和 maven(后端)如何使用 Nexus3 私服进行详细介绍。
    image

    感谢你花费宝贵的时间阅读本文,如果本文给了你一点点帮助或者启发,还请三连支持一下,点赞、关注、收藏,作者会持续与大家分享更多干货

  • 相关阅读:
    编写一个程序,对输入的任意正整数n,打印出集合{0,1,…,n-1}的所有子集。
    【Jenkins】data stream error|Error cloning remote repo ‘origin‘ 错误解决【亲测有效】
    分类接口,淘宝分类详情 API
    ubuntu20 安装 cmake 3.27
    vscode使用restClient实现各种http请求
    “创能源之新、享绿色未来” 数境“三星堆杯”能源装备智能化绿色化创新大赛启动...
    array 数组相关方法
    springboot简单集成Security配置
    LVS的实现NAT路由转发
    为什么我写的z-index不生效?
  • 原文地址:https://www.cnblogs.com/youyacoder/p/16647172.html