Docker 容器中搭建 nexus npm私库

本文详细介绍如何使用Docker部署Nexus3,并配置npm私有仓库。包括安装、启动、登录、配置不同类型的仓库(hosted/proxy/group),以及如何在本地npm中配置使用这些私有仓库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,版本

  dockers :1.13.1   ;nexus 3

2,安装

  docker pull liumiaocn/nexus

3,启动

项目详细
Nexus UI8081
private repo8082
proxy repo8083
URLhttp://192.168.20.71:8081/

 

  docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus liumiaocn/nexus 

  [root@master ~]# docker ps -a
  CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  f3ef3fa410a4 liumiaocn/nexus "bin/nexus run" 24 hours ago Up 21 hours 0.0.0.0:8081-8083->8081-8083/tcp nexus

4,登录

  URL:  http://192.168.20.71:8081/

  用户名:admin  密码:admin123  (默认)

  

5,配置

  

仓库类型

具体仓库类型主要分为hosted/proxy/group三种。具体含义如下:

项目详细说明
hosted本地存储,提供本地私库功能
proxy提供代理其他仓库的类型
group组类型,可以组合多个仓库为一个地址提供服务
创建blob

创建一个blob用于存放npm相关数据。

项目详细说明
TypeFile
Namenpm-repo-blob
PATH/nexus-data/blobs/npm-repo-blob

 

 

建议实际项目中各个仓库根据具体情况决定是否要分别创建blob进行对应,此处进行演示就通篇使用一个blob

创建priavete仓库

创建一个Hosted的仓库作为private仓库,用于管理非npm社区的第三方包或者自己开发的内容。具体设定信息如下:

项目详细说明
类型npm(hosted)
Namenpm-repo-hosted
Blob storenpm-repo-blob

其余Default设定即可 

 

创建proxy仓库

创建一个proxy仓库,具体设定信息如下:

项目详细说明
类型npm(proxy)
Namenpm-repo-proxy
Remote Storagehttps://registry.npmjs.org
Blob storenpm-repo-blob

其余Default设定即可

 

创建group仓库

创建一个group仓库,具体设定信息如下:

项目详细说明
类型npm(group)
Namenpm-repo-group
Blob storenpm-repo-blob
Member repositoriesnpm-repo-hosted
Member repositoriesnpm-repo-proxy

 

6,本地npm配置,验证版本

  安装版本: node v10.9.0  npm 6.2.0

  理论上来说,只要官方的tar.gz的文件名称格式不变,只需要改变脚本中的如下部分即可

  其他版本参考地址:https://nodejs.org/en/download/current/   

  [root@master ~]# npm -v
  6.2.0
  [root@master ~]# node -v
  v10.9.0

7,注意事项

  国内tb地址:registry=https://registry.npm.taobao.org

  默认配置查看:npm config list -l

  临时修改源地址:npm install --registry=http://192.168.20.71:8081/repository/npm-repo-proxy/

  永久修改:npm confige set registry=http://192.168.20.71:8081/repository/npm-repo-proxy/

  npm 和 cnpm 命令相同,使用cnpm时默认使用tb源。

参考地址:

https://blog.youkuaiyun.com/liumiaocn/article/details/78510679

https://www.centos.bz/2018/03/%E5%9C%A8-centos-7-%E5%B9%B3%E5%8F%B0%E4%BD%BF%E7%94%A8-cnpmjs-org-%E6%90%AD%E5%BB%BA-npm-%E7%A7%81%E6%9C%89%E4%BB%93%E5%82%A8/

 

#安装脚本
#!/bin/sh

usage(){
  echo "Usage: $0 [node-xxx.tar.gz]"
  echo "       node-xx.tar.gz: specified file will be used. Default will download directly"
  echo
}

INSTALL_FLAG="NET"
FILE_SPECIFIED=$1

if [ $# -eq 1 ]; then
  if [ ! -f ${FILE_SPECIFIED} ]; then
    echo "File ${FILE_SPECIFIED} does not exist"
    usage
    exit 1
  else
    INSTALL_FLAG="LOCAL"
  fi
fi

FILE_VERSION=10.9.0
FILE_TAR_GZ=node-v${FILE_VERSION}-linux-x64
DOWNLOAD_URL="https://nodejs.org/dist/v${FILE_VERSION}/${FILE_TAR_GZ}.tar.gz"

DIR_INSTALL=/usr/local/npm

date
echo "##Install Step 1: download binary file ..."
date
if [ _"LOCAL" = _"$INSTALL_FLAG" ]; then
  echo "  Install by using local tar.gz file specified, downloading is skipped..."
else
  cd /tmp
  wget ${DOWNLOAD_URL}
fi

date
ls ${FILE_TAR_GZ}.tar.gz
echo

echo "##Install Step 2: tar xvpf to unzip file ..."
date
mkdir -p /usr/local/npm
cd /usr/local/npm
tar xvpf /tmp/${FILE_TAR_GZ}.tar.gz
mv node* node
pwd
ls
date
echo


echo "##Install Step 3: create link file"
date
ln -s /usr/local/npm/node/bin/npm /usr/local/bin/npm
ln -s /usr/local/npm/node/bin/node /usr/local/bin/node

echo


echo "VERSION CONFORM:"
npm -v
node -v

 

转载于:https://www.cnblogs.com/fuhai0815/p/9591979.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值