使用 docker 镜像安装
-  安装 docker,略
-  在 docker下安装verdaccio镜像
 使用如下命令即可:docker pull verdaccio/verdaccio安装镜像成功:  
-  运行 verdaccio,使用docker命令运行镜像,创建verdaccio容器// 名称verdaccio, 端口 4873 docker run -it --name verdaccio -p 4873:4873 verdaccio/verdaccio启动容器成功:  
 启动成功以后,实际上就可以在浏览器访问了,http://0.0.0.0:4873。
 接下来先介绍几个操作容器的docker命令。
-  docker操作容器的部分命令
-  映射本地目录 首先,创建 /home/verdaccio目录,以下在该目录下操作。
 其次,创建conf目录,并添加verdaccio的config.yaml配置文件。
 接着处理映射目录,一般有以下两种方式:-  直接映射本地目录,启动 verdacciodocker run -it --name verdaccio -p 4873:4873 -v /home/verdaccio/storage:/verdaccio/storage -v /home/verdaccio/conf:/verdaccio/conf -v /home/verdaccio/plugins:/verdaccio/plugins verdaccio/verdaccio-v:容器目录映射到本地目录 
-  或者使用 docker-compose启动
 添加docker-compose.yml文件,使用docker-compose up命令启动version: '3' services: verdaccio: image: verdaccio/verdaccio container_name: "verdaccio" network--mode: "bridge" environment: - VERDACCIO_PORT=4873 ports: - "4873:4873" volumes: - "/home/verdaccio/storage:/verdaccio/storage" - "/home/verdaccio/conf:/verdaccio/conf" - "/home/verdaccio/plugins:/verdaccio/plugins" network_mode: "bridge"
 注意: 本地目录 /home/verdaccio/storage需要设置权限,不然会因为权限问题而导致操作失败。chown -R 10001:65533 /home/verdaccio/storage本地目录映射成功后,会简化很多操作,比如: 
 在/home/verdaccio目录下会创建storage目录,如果发布了包,则在此目录下的data中能找到对应的包文件夹,可以查看所有上传的npm包,此处也可以直接删除该包;
 也会在conf映射到配置文件,方便我们需要时修改配置信息。
-  
-  拷贝 verdaccio配置文件如果不想做本地目录映射,也可以使用如下命令,拷贝出 verdaccio镜像的配置文件。docker cp:在容器和本地文件系统之间,拷贝文件或文件夹。docker cp verdaccio:/verdaccio/conf/config.yaml /home
私有库部署成功
verdaccio 安装启动成功后,就可以直接网络访问。
 当页面出现下图所示,就表示私有库搭建成功,后续就可以进行私有包的发布下载。

发布一个包
有了私有库以后,就可以在其上发布 npm 包。
 但初始化时需要先添加用户,设置用户名和密码等,然后就可以直接发包了。
-  添加用户 npm adduser --registry http://0.0.0.0:4873/输入用户名、密码和邮箱。 
-  publish 当需要把某个项目发布到私有库时,直接 publish。npm publish --registry http://0.0.0.0:4873/发布成功后,刷新页面,就能看到最新发布的包。 
install
在项目目录下增加 .npmrc 文件,指定仓库地址。
registry=http://0.0.0.0:4873/
使用 npm install 包名,即可安装私有包了。
verdaccio 配置文件解读
常用配置如下:
  # 素有包的保存路径
  storage: /verdaccio/storage/data
  # 插件的保存路径
  plugins: /verdaccio/plugins
  # 通过web访问
  web:
    title: Verdaccio
  # 账号密码文件,初始不存在
  auth:
    htpasswd:
      file: /verdaccio/storage/htpasswd
      # max_users:1000
      # 默认1000,允许用户注册数量。为-1时,不能通过 npm adduser 注册,此时可以直接修改 file 文件添加用户。
  # 本地不存在时,读取仓库的地址
  uplinks:
    npmjs:
      url: https://registry.npmjs.org
  # 对包的访问操作权限,可以匹配某个具体项目,也可以通配
  # access 访问下载;publish 发布;unpublish 取消发布;
  # proxy 对应着uplinks名称,本地不存在,去unplinks里取
  # $all 表示所有人都可以执行该操作
  # $authenticated 已注册账户可操作
  # $anonymous 匿名用户可操作
  # 还可以明确指定 htpasswd 用户表中的用户,可以配置一个或多个。
  packages:
    '@*/*':
      access: $all
      publish: $authenticated
      unpublish: $authenticated
      proxy: npmjs
    '**':
      access: $all
      publish: $authenticated
      unpublish: $authenticated
      proxy: npmjs
  # 服务器相关
  sever:
    keepAliveTimeout: 60
  middlewares:
    audit:
      enabled: true
  # 日志设定
  logs: { type: stdout, format: pretty, level: http }配置npm
[root@localhost ~]# docker exec XXX npm config set registry https://registry.npmmirror.com/
[root@localhost ~]# docker exec XXX npm config rm proxy
[root@localhost ~]# docker exec XXX npm config rm https-proxy
[root@localhost ~]# docker exec XXX yarn config set sass-binary-site https://cdn.npmmirror.com/binaries/node-sass









