使用docker+verdaccio搭建npm私有库

本文详细介绍了如何从头开始配置Verdaccio Docker,包括镜像拉取、容器管理和配置文件设置。遇到问题时,作者展示了如何删除并重新配置,以确保服务正常运行。

参考文章,但是这个文章比较旧了,下载的项目已经迁移了,新的docker镜像拉取以后就不需要clone其他配置了。
1,在根目录创建docker文件夹,docker文件夹下创建verdaccio文件夹,在docker中执行以下代码拉取verdaccio的镜像;

docker pull verdaccio/verdaccio

2,运行镜像

docker run --name verdaccio -itd -v ~/docker/verdaccio:/verdaccio -p 4873:4873 verdaccio/verdaccio

 3,访问:  你的服务器ip:4873,能看到这个界面就成功了

4,以上配置好了以后,以后直接访问ip:4873就可以访问,但是某天突然不知道为啥连接不上了,于是我重新按照以上流程执行,但是第一步原本应该在verdaccio文件夹内自动生成以下配置文件,实际上并没有生成,于是决定删除所有与verdaccio相关的内容,然后重新配置

5,首先查看存在的容器:docker ps -a ,找到verdaccio并删除:docker rm  containerID

### npm私有仓库的配置与使用 #### 一、搭建npm私有仓库的方式 可以采用多种方式来搭建npm私有仓库,以下是几种常见的方法及其特点: 1. **Verdaccio** Verdaccio 是一种轻量级的 npm 私有仓库解决方案,适合中小型团队使用。通过简单的安装和配置即可快速部署到公司内网环境[^1]。其主要优势在于无需复杂的权限管理配置。 2. **Nexus Repository Manager** Nexus 提供更强大的功能支持,适用于大型企业场景下的复杂需求。它不仅能够代理公共 npm 仓库,还允许创建多个分组型或托管型存储库,并提供细粒度的身份验证机制[^5]。 3. **Docker容器化方案** 如果希望简化部署流程,则可以选择基于 Docker 的方式运行 verdaccio 或其他类似的工具。这种方式便于维护版本控制以及跨平台迁移[^3]。 #### 二、具体实施步骤说明 ##### (一)利用 Verdaicio 构建本地服务端实例 - 下载并启动 Verdaccio 应用程序; - 修改默认配置文件 `config.yaml` 来指定监听 IP 和端口号等参数; - 访问 Web UI 页面完成初步初始化工作; ##### (二)客户端连接至自定义源地址 对于开发者机器而言,需执行如下命令以便顺利上传下载包资源: ```bash # 安装 nrm 工具用于便捷切换不同注册表 npm install -g nrm # 添加新的远程源记录 nrm add private-source http://your-verdaccio-server-address:port/ # 查看现有选项列表确认新增成功与否 nrm ls # 正式启用目标私有源作为当前活动项 nrm use private-source ``` ##### (三)发布新模块至内部网络中的私有仓库存储位置 当准备就绪之后,按照常规流程推送代码即刻生效: ```bash npm publish --registry=http://your-private-repo-url/ ``` 另外,在某些特定情况下可能还需要额外调整 `.npmrc` 文件内容以适配特殊的安全策略或者路径映射关系[^4]。 #### 三、注意事项 - 确保所有参与者都能够正常访问所设定的服务节点; - 对敏感数据采取必要的加密保护措施防止泄露风险发生; - 根据实际业务规模评估选用合适的技术栈组合形式; ```python import os from dotenv import load_dotenv load_dotenv() PRIVATE_REPO_URL = os.getenv('PRIVATE_NPM_REGISTRY') def publish_package(package_name, version): command = f"npm publish {package_name}@{version} --registry={PRIVATE_REPO_URL}" result = os.system(command) if result != 0: raise Exception(f"Failed to publish package {package_name}") publish_package("example-package", "1.0.0") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值