拉去node镜像
docker pull node
运行一个docker容器
docker -itd --name verdaccio -p 8080:8080 node
查看docker容器ID
docker ps
进入docker容器
docker exec -itd 容器ID /bin/bash
检查node
node -v
安装nrm
npm install -g nrm
切换npm源为国内源 以taobao为例
nrm use taobao
安装pm2守护进程工具
npm install -g pm2
安装Verdaccio
npm install -g verdaccio
安装vim 文本编辑(有此功能飘过)
apt-get install vim
修改verdaccio 默认配置
- 由于默认配置listen: - localhost:4873 导致无法docker映射服务无法访问
- 需要修改为 listen: - 0.0.0.0:4873
vim /root/verdaccio/config.yaml
此处仅展示片段信息
listen:
- 0.0.0.0:4873
保存配置文件
使用pm2 守护进程启动verdaccio
pm2 start verdaccio
到此就可以在真机浏览器访问服务了
停止服务
pm2 stop verdaccio
或者 使用pm2 守护进程启动verdaccio
pm2 start `which verdaccio`
停止服务
pm2 stop `which verdaccio`
Verdaccio config.yaml配置文件
官方配置文件
# 本地仓库的目录,用于存放我们上传的包和从npm服务器同步下来的包
storage: ./storage
# 插件目录的位置。对Docker/Kubernetes 基础上的配置非常有用。
plugins: ./plugins
# verdaccio启用的web应用相关配置,更多web-ui配置参考https:
web:
# web页title
title: Verdaccio
# 注释掉以禁用gravatar支持
# gravatar: false
# 包的排序,正序/倒序 (asc|desc)
# sort_packages: asc
# 深色模式
# darkMode: true
# 权限认证相关
auth:
# 用户密码管理
htpasswd:
file: ./htpasswd # 用户密码存放位置
# 允许注册用户的最大值,默认1000,如果设置为-1不允许通过adduser添加用户,但是可以手动向htpasswd中添加用户
# max_users: 1000
# 上游链路,缓存中找不到用户下载包时向上游链路请求资源
uplinks:
npmjs:
# 这里最好修改位淘宝镜像
url: https:
# 包权限配置,@**':
access: $all # 访问权限,
publish: $authenticated # 发布权限
unpublish: $authenticated # 取消发布权限
proxy: npmjs # 如果请求的包不在服务器中,向配置的上游npmjs请求包
# 普通包
'**':
access: $all
publish: $authenticated
unpublish: $authenticated
proxy: npmjs
# 服务器相关配置
server:
keepAliveTimeout: 60 # 超时时间
# 中间件配置
middlewares:
# npm 审核认证
audit:
enabled: true
# 输出日志配置
logs:
# type: stdout --- 控制台输出; file --- 输出到文件
# path: 如果输出到文件类型,需要制定输出路径
# format: 输出格式 [pretty, pretty-timestamped]
# level: 日志级别 [fatal, error, warn, http, info, debug, trace]
- { type: stdout, format: pretty, level: http }
# - {type: file, path: verdaccio.log, level: info}