成功最有效的方法就是向有经验的人学习!

npm私有化docker方式部署

一、部署nexus
本文采用docker方式部署nexus
安装docker

yum install -y docker

拉取nexus镜像

docker pull sonatype/nexus3

准备本地映射目录,以便本地化持续存储数据,目录可根据自己需求随意设置:

mkdir -p /opt/nexus-data

本地创建的目录赋予权限,避免服务启动异常(踩过的坑)

chmod -R 777 /opt/nexus-data

启动nexus服务

docker run -d --name nexus3 \
 --restart=always \
-p 8081:8081 \
-p 8082:8082  \
-p 8083:8083  \
-p 8084:8084  \
-p 8085:8085   \
-v /opt/nexus-data:/nexus-data \
sonatype/nexus3

服务启动之后,使用部署机器ip+8081端口登陆nexus页面,刚部署完成可能需要等待1-2分钟才可正常进入页面

二、npm配置
(1)登陆nexus页面:ip:8081
(2)首次登陆nexus的admin密码:进入nexus容器,查看/nexus-data/admin.password
(3)输入步骤2中查到的密码后直接开始修改密码操作
(4)修改密码后提示是否启用匿名访问,需要选择enable,否则npm本地仓库在使用时会出现访问失败,需要登录的报错
(5)打开设置 -> repositories 页面,点击 Create repository 按钮,创建仓库
(6)先创建npm(proxy) 仓库,即代理仓库
填入仓库名以及代理地址,代理地址可使用 npm 官方镜像地址 https://registry.npmjs.org

只需要上述2项即可点击底部 Creaete repository 完成创建

(7)创建 npm(hosted) 仓库,即私服仓库

输入仓库名即可点击底部 Creaete repository 完成创建。

(8)创建 npm(group) 仓库,npm 组
当我们从 npm(group) 这个仓库安装 npm 包时,首先会查看该仓库中是否存在,不存在时则会使用代理仓库到官方仓库进行下载

创建 npm(group) 需要填写仓库名,然后将 npm(proxy) 和 proxy(hosted) 设置为成员即可,点击底部 Creaete repository 完成创建

三、使用npm
1.在另一台机器上执行npm install时,添加–registry指定私有npm仓库地址,下代码示例为我本地虚拟机测试ip,需根据实际部署ip进行更改

npm install  --registry=http://172.16.27.109:8081/repository/npm-group/

2.如果出现下图报错
file
因为nexus没有允许匿名访问的,需要设置为允许匿名访问
打开设置页面 Security -> Anonymous,勾选 Allow anonymous users to access the server 即可,点击 save 保存

3.如果觉得每次都需要指定 --registry 的方式较麻烦,我们可以在需要安装npm依赖的机器上使用

npm config set registry http://172.16.27.109:8081/repository/npm-group/

将 npm 默认的镜像改成我们私服的镜像,这样就不需要每次都指定镜像源了,当然,里面的ip、端口,group名需要根据实际进行修改

赞(0) 打赏
未经允许不得转载:陈桂林博客 » npm私有化docker方式部署

大佬们的评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

全新“一站式”建站,高质量、高售后的一条龙服务

橙子建站.极速智能建站8折购买虚拟主机

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏