verdaccio + docker搭建私有npm仓库(有手就行)

2023-10-29

一、环境准备

docker

二、步骤

运行verdaccio

docker run -d --name verdaccio -p 4873:4873 --restart=always verdaccio/verdaccio

该命令执行完,一个本地的npm仓库就基本搭建好了,可以浏览器访问http://localhost:4873/ 查看,效果如下:
在这里插入图片描述
效果出是出来了,但是

docker run -d --name verdaccio -p 4873:4873 --restart=always verdaccio/verdaccio

这个命令还存在一些问题,就是没有挂载卷,当该容器销毁时,里面的数据也没了

为了避免以上情况,保证容器销毁时,数据还在,做法如下

使用docker cp命令将容器中的内容复制到宿主机,例如将容器中/verdaccio目录复制到宿主机D:\volumes\verdaccio目录

docker cp verdaccio:/verdaccio D:\volumes\verdaccio

进入D:\volumes\verdaccio可以看到conf、plugins、storage三个目录
在这里插入图片描述
进入conf目录里有一个conf.yaml文件,这是verdaccio的配置文件,我们需要修改这个文件中的几个路径确保卷挂载后不会出问题

一个是storage的路径,默认值是/verdaccio/storage/data,但个路径在容器内是没有问题的,但由于我们将verdaccio文件夹拷贝到了宿主机,因此这个路径就有问题了,需要改成…/storage/data
同理:plugins的路径需要改成…/plugins
在这里插入图片描述

还有一个file路径需要改成…/storage/htpasswd(htpasswd是存放用户名和密码的文件)
在这里插入图片描述
接着,便可以使用挂载卷的方式启动verdaccio容器

1.删除原来的verdaccio容器

docker rm verdaccio -f

2.使用挂载卷的方式启动verdaccio容器

docker run -d --name verdaccio -v D:\volumes\verdaccio\storage:/verdaccio/storage -v D:\volumes\verdaccio\conf:/verdaccio/conf -v D:\volumes\verdaccio\plugins:/verdaccio/plugins -p 4873:4873 --restart=always verdaccio/verdaccio

大功告成

接着,可以注册一个用户来发布npm包了

1.注册用户
使用npm adduser命令然后输入用户名,密码,邮箱就能注册用户
2.发布npm包
npm publish
3.可以访问http://localhost:4873/ 登录后查看自己发布的包
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

verdaccio + docker搭建私有npm仓库(有手就行) 的相关文章

随机推荐

  • 章鱼网络,构建未来Web3弹性之网

    全长8698字 预计阅读 23 分钟 嘉宾 刘毅 撰文 MiX 微信交流 mixcross919 章鱼网络的愿景 大幅降低Web3 0应用链 Appchain 的启动 运行和创新门槛 将启动应用链的成本从几百万美金降低到几万美金 只有把门槛
  • 感悟--学习一个新东西

    总结学习一个新东西 当学习更高的层次的东西 看原来之前学过的东西觉的不在难 最开始学习jsp标签 nginx 使用 原因是 没有站在高纬度视角 不知道我站在哪里 本以为是个大山 其实是就是山谷中一棵大树上的一片页里的细节脉络 以下按照顺序来
  • 端口被占用怎么解

    1 首先打开命令行窗口 在搜索栏输入cmd 选择命令提示 2 在命令提示窗口输入 netstat ano 找到端口对应的PID 我要找的是端口3000 所以对应PID就是29916 3 继续输入 netstat ano findstr PI
  • Python数据驱动ddt模块,与测试报告的生成

    数据驱动ddt模块 与测试报告的生成 与上一篇博客一样拿登录测试来讲 首先建立一个命名为login py的文件 并写上登录过程中需要调用的方法login check def login check username password par
  • Java中如何生成6个不重复的随机数一次性成功!

    在使用Java生成随机数时 这里有两种方式 是使用Set的不可重复性 来生成的 下面我们来看代码 public class RandomTest public static void main String args Set
  • 企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

    工程项目管理软件 工程项目管理系统 对建设工程项目管理组织建设 项目策划决策 规划设计 施工建设到竣工交付 总结评估 运维运营 全过程 全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一 系统管理 1 数据字典 实现对数据字典标签
  • 《面试准备》c/c++全排列问题

    问题描述 排列 从n个元素中任取m个元素 并按照一定的顺序进行排列 称为排列 全排列 当n m时 称为全排列 比如 集合 1 2 3 的全排列为 1 2 3 1 3 2 2 1 3 2 3 1 3 2 1 3 1 2 算法思路 1 n个元素
  • 扩展实体

    扩展实体对象Xrecord 它是AcDbxrecord的对象实例 扩展实体对象实际上是结果缓冲区列表 存储一个数据组列表 每一个节点都有一个DXF码来标示实体的类型 设置和获取结果缓冲区链表 Acad ErrorStatusAcDbXrec
  • 正态分布西格玛越大_正态分布中什么是1 sigma原则,2sigma原则,3sigma原则

    sigma原则 数值分布636f707962616964757a686964616f31333431366431在 中的概率为0 6526 2sigma原则 数值分布在 2 2 中的概率为0 9544 3sigma原则 数值分布在 3 3
  • Python3 AttributeError: module ‘cv2‘ has no attribute ‘SIFT‘ ‘module‘ object has no attribute ‘xfea

    在用python3使用sift cv2 SIFT 进行SIFT时候 可能会产生错误 AttributeError module cv2 has no attribute SIFT 解决 将sift cv2 SIFT 替换为 sift cv2
  • 2023前端面试题(含答案)

    set map区别 1 Map是键值对 Set是值的集合 2 Map可以通过get方法获取值 而set不能 因为它只有值 3 都能通过迭代器进行for of遍历 4 Set的值是唯一的可以做数组去重 Map由于没有格式限制 可以做数据存储
  • flutter 点九设置

    1 上边和左边是拉伸区域 右边和下边是填充区域 2 fromLTRB fromLTWH设置区域 3 fromLTRB设置区域 说的不是很清晰 4 centerSlice的理解 拉伸区域 可以单纯的理解为对某块像素进行拉伸 那块像素自然就变得
  • Java 单链表的实现与反转

    Java 实现单链表以及单链表的反转 package test import java util Iterator public class LinkList
  • java IO流相关的类的分类和总结

    关于Java的IO流以前也总结过不少 根据API画出了IO流的类结构图 也写了不少相关的程序 但是没有对IO流做一个综合型的总结 最近在CSDN和ITeye上看了不少对IO流的总结 感觉有必要 抽时间总结一次 这既是对Java基础知识的进一
  • SQL增删改查语句

    修改表数据 UPDATE products SET category Android where category 1 创建表 create table 表名 列名1 数据类型1 列名2 数据类型2 列名n 数据类型n 转载 https b
  • Qt之QLayout 遍历所有子项

    在使用QLayout做窗口布局时 有时候我们需要对其进行遍历得到子项 一般的我们都是通过自带的函数children 得到一个链表 然后再对链表进行遍历 首先我设置布局如下 设置布局 QVBoxLayout pLayout new QVBox
  • unity点击物体场景跳转

    1 点击File Building settings 点击 add open scenes 添加两个场景 注意后面的数字 2 在对应的button的onclick下面点击 添加点击事件 将对应的button拖进去 并选择脚本里面定义的方法
  • 第6章 分布式文件存储

    mini商城第6章 分布式文件存储 一 课题 分布式文件存储 二 回顾 1 理解Oauth2 0的功能作模式 2 实现mini商城项目的权限登录 三 目标 1 了解文件存储系统的概念 2 了解常用文件服务器的区别 3 掌握Minio的应用
  • zsh和oh-my-zsh的一些好用的主题及插件

    zsh主题 zsh的默认主题为robbyrussell 用了一段时间发现并不是那么好用 比如它不会把当前的工作路径全部展示出来 例如现在处于路径 home zhu go src MyProject中 此主题就只是显示最后路径 即MyProj
  • verdaccio + docker搭建私有npm仓库(有手就行)

    一 环境准备 docker 二 步骤 运行verdaccio docker run d name verdaccio p 4873 4873 restart always verdaccio verdaccio 该命令执行完 一个本地的np