1 Docker 安装 Nexus3

1.1 创建目录

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

mkdir -p /Users/yygnb/dockerMe/nexus3

为该目录添加权限:

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

1.2 拉取镜像

搜索镜像:

docker search nexus3

搜索结果:

拉取镜像:

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

查看容器的日志:

docker logs -f nexus3

docker logs -f 547b

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

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

docker start nexus3

1.4 访问私服

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

localhost:8081/nexus

点击右上角”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”创建角色,如下图:

2)Role Type 选择:nexus role

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

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

2.2 用户管理

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

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

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

如下图:

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

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

2.3 设置 Realms

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

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

2.4 仓库管理

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

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

2.5 仓库类型

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

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

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

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

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

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

Docker 搭建 Nexus3 私服 | 基本操作的更多相关文章

  1. 搭建Nexus3私服(含使用说明,支持CentOS、Windows)

    官方文档 Nexus仓库介绍(支持maven.yum.docker私服等) 仓库分为三种: proxy:是远程仓库的代理.比如说在nexus中配置了一个central repository的proxy ...

  2. 【原创】Docker 搭建Maven私服nexus 3.17初始密码登录不上问题/admin登陆不上问题

    [原创-转载请说明出处] 博主最近在虚拟机中搭建Maven私服,遇到了一个关键问题就是nexus 3.17版本后初始密码不是admin/admin123. 对于nexus不熟悉的我弄了很长时间!!!心 ...

  3. 基于Docker搭建Maven私服Nexus,Nexus详解

    备注:首先在linux环境安装Java环境和Docker,私服需要的服务器性能和硬盘存储要高一点,内存不足可能到时启动失败,这里以4核8GLinux服务器做演示 一:基于Docker安装nexus3 ...

  4. windows下搭建Nexus3私服和基于IDEA15的Maven学习笔记

    搭建Nexus私服. 首先去官网下载window下用的zip文件.https://www.sonatype.com/download-oss-sonatype. 解压之后包含下面两个文件 进入nexu ...

  5. docker 搭建maven 私服

    # 搜索镜像 docker search nexus; #拉取nexus镜像docker pull sonatype/nexus; #运行 -id 创建守护式容器--privileged=true 授 ...

  6. 用Docker搭建Nexus私服

    搜索Nexus 在docker容器中加载Nexus镜像 发布本地项目到Nexus私服 配置连接方式 发布指令 打源码包上传插件 搜索Nexus   在我们打算使用Nexus时,我们先搜索一下docke ...

  7. 使用Docker搭建maven私服 及常规使用方法

    安装-登录-配置 下载镜像 docker pull sonatype/nexus3 运行 docker run -d -p 9998:8081 --name nexus --restart=alway ...

  8. Docker 搭建nexus私服

    一.概述 有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:Apache基金会的Archiva.JFrog的Artifactory和Sonatype的Nexus.而Nexus是当前最流行的M ...

  9. Windows搭建Nexus3私服

    1. Nexus 简介 Nexus 是一个强大的 Maven 仓库管理器 , 它极大地简化了自己内部仓库的维护和外部仓库的访问 ; 利用 Nexus 你可以只在一个地方就能够完全控制访问和部署在你所维 ...

随机推荐

  1. JS:||运算符

    ||逻辑运算符 ||这个符号在开发中 往往是优化的代码最常用的js符号: 当用||连接语句时,回将前后语句变为Boolean类型,再进行运算: 1.当||前面条件为false,不管后面是true/fa ...

  2. NC50528 滑动窗口

    NC50528 滑动窗口 题目 题目描述 给一个长度为N的数组,一个长为K的滑动窗体从最左端移至最右端,你只能看到窗口中的K个数,每次窗体向右移动一位,如下图: 你的任务是找出窗体在各个位置时的最大值 ...

  3. 动态树 — Euler_Tour_Tree

    一般提到动态树,我们会不约而同的想到 LCT,这算是比较通用,实用,能力较为广泛的一种写法了.当然,掌握 LCT 就需要熟悉掌握 Splay 和各种操作和知识.ETT(中文常用称呼:欧拉游览树)是一种 ...

  4. 游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)

    问题描述 我们国内的华为联运游戏集成华为游戏服务SDK 之后,被审核驳回:在未安装或需要更新华为移动服务(HMS Core)的手机上,提示安装华为移动服务,点击取消,未再次提示安装HMS Core. ...

  5. Java开发学习(九)----IOC之核心容器

    这里所说的核心容器,大家可以把它简单的理解为ApplicationContext,前面虽然已经用到过,但是并没有系统的介绍过,接下来咱们从以下几个问题入手来下容器的相关知识: 如何创建容器? 创建好容 ...

  6. 如何准备论文线上Presentation视频录制教程(Summary of Video Recording)

    0:前言 由于国外的疫情严重,目前大多数学术会议都是线上举办,因此往往需要制作presentation的视频录制.由于各种软件横飞,有的需要会员并且不熟悉操作,特别浪费时间.因此,我将这次的操作和遇到 ...

  7. 一题多解,ASP.NET Core应用启动初始化的N种方案[下篇]

    [接上篇]"天下大势,分久必合,合久必分",ASP.NET应用通过GenericWebHostService这个承载服务被整合到基于IHostBuilder/IHost的服务承载系 ...

  8. Grid属性太多记不住?【Grid栅格布局可视化编辑器】直观易懂高效,拖拉拽,有手就行!

    手把手教你通过拖拉拽可视化的方式带你练习[Grid栅格布局]的各个属性,直观易懂!再也不愁记不住繁多的Grid属性了.整个过程在众触应用平台进行,不用手写一行CSS代码. grid-auto-flow ...

  9. 001 Security概述

    1.Spring Security概述 Spring Security是用于解决认证与授权的框架 SpringSecurity默认要求所有的请求都是必须先登录才允许的访问 BCrypt加密算法 BCr ...

  10. Tampermonkey究竟有什么用?

    以具体应用实例加以说明. 目标:在youtube页面上观看视频,发现喜欢的视频,单击按钮就可以下载视频. 但是,youtube页面并未提供这样的按钮及其功能. 实现思路:在浏览器下载youtube页面 ...