当前位置: 首页 > news >正文

【docker npm】npm 私库

1.部署环境

  • window 11 x64
  • Docker Desktop 4.34.1 (166053)
    • Docker Engine v27.2.0

1.1.Docker 镜像源

1.1.1.Docker Engine 配置

{"builder": {"features": {"buildkit": true},"gc": {"defaultKeepStorage": "32GB","enabled": true}},"experimental": true, "hosts": ["tcp://0.0.0.0:2375"],"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://mirror.ccs.tencentyun.com"]
}

2.拉取Nexus3镜像

# 拉取镜像
docker pull verdaccio/verdaccio:latest
# 保存镜像源(选)
docker save -o verdaccio_verdaccio_latest verdaccio/verdaccio:latest

3.创建并运行Nexus3

docker run -it -d --name npmmirror -p 4873:4873 -v D:\docker\npm\verdaccio\storage:/verdaccio/storage -v D:\docker\npm\verdaccio\conf:/verdaccio/conf -v D:\docker\npm\verdaccio\plugins:/verdaccio/plugins --privileged=true --restart=always verdaccio/verdaccio

说明

  • --privileged=true 允许容器使用管理员权限
  • --restart=always 自动重启

config.yaml

#
# This is the config file used for the docker images.
# It allows all users to do anything, so don't use it on production systems.
#
# Do not configure host and port under `listen` in this file
# as it will be ignored when using docker.
# see https://verdaccio.org/docs/en/docker#docker-and-custom-port-configuration
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
## path to a directory with all packages
storage: /verdaccio/storage/data
# path to a directory with plugins to include
plugins: /verdaccio/pluginsweb:# WebUI is enabled as default, if you want disable it, just uncomment this line#enable: falsetitle: NPM 私库# comment out to disable gravatar support# gravatar: false# by default packages are ordercer ascendant (asc|desc)# sort_packages: asc# darkMode: true# logo: http://somedomain/somelogo.png# favicon: http://somedomain/favicon.ico | /path/favicon.ico# rateLimit:#   windowMs: 1000#   max: 10000# translate your registry, api i18n not available yet
# i18n:
# list of the available translations https://github.com/verdaccio/ui/tree/master/i18n/translations
#   web: zh-CNauth:htpasswd:file: /verdaccio/storage/htpasswd# Maximum amount of users allowed to register, defaults to "+infinity".# You can set this to -1 to disable registration.max_users: 100# a list of other known repositories we can talk to
uplinks:cnpmjs:url: http://registry.npm.taobao.org/npmjs:url: https://registry.npmmirror.com/packages:'@*/*':# scoped packagesaccess: $allpublish: $authenticatedunpublish: $authenticatedproxy: cnpmjs'**':# allow all users (including non-authenticated users) to read and# publish all packages## you can specify usernames/groupnames (depending on your auth plugin)# and three keywords: "$all", "$anonymous", "$authenticated"access: $all# allow all known users to publish/publish packages# (anyone can register by default, remember?)publish: $authenticatedunpublish: $authenticated# if package is not available locally, proxy requests to 'npmjs' registryproxy: cnpmjs# You can specify HTTP/1.1 server keep alive timeout in seconds for incoming connections.
# A value of 0 makes the http server behave similarly to Node.js versions prior to 8.0.0, which did not have a keep-alive timeout.
# WORKAROUND: Through given configuration you can workaround following issue https://github.com/verdaccio/verdaccio/issues/301. Set to 0 in case 60 is not enough.
server:keepAliveTimeout: 60middlewares:audit:enabled: true# log settings
logs: { type: stdout, format: pretty, level: http }
#experiments:
#  # support for npm token command
#  token: false
#  # enable tarball URL redirect for hosting tarball with a different server, the tarball_url_redirect can be a template string
#  tarball_url_redirect: 'https://mycdn.com/verdaccio/${packageName}/${filename}'
#  # the tarball_url_redirect can be a function, takes packageName and filename and returns the url, when working with a js configuration file
#  tarball_url_redirect(packageName, filename) {
#    const signedUrl = // generate a signed url
#    return signedUrl;
#  }# This affect the web and api (not developed yet)
i18n:web: zh-CN

htpasswd

登录的用户名和密码: admin/123456

admin:POhfqY8PVG4gA:autocreated 2023-09-06T11:01:37.149Z

初次运行容器后,将上面两个文件覆盖到挂载的本地文件,然后重新启动

4.使用npm私库

# 登录
npm login --registry http://xxx.xxx.xxx.xxx:4873/
# 发布
npm publish --registry http://xxx.xxx.xxx.xxx:4873/
# 删包
npm unpublish xxx --registry http://xxx.xxx.xxx.xxx:4873/
npm unpublish xxx@1.0.0 --registry http://xxx.xxx.xxx.xxx:4873/
# 查看本地仓库
npm config get registry
# 设置本地仓库(选)
npm config set registry "http://xxx.xxx.xxx.xxx:4873/"pnpm set registry http://xxx.xxx.xxx.xxx:4873/
yarn config set registry http://xxx.xxx.xxx.xxx:4873/

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 关于HarmonyOS的学习
  • SQL注入(数据库)简介
  • 堆叠沙漏网络(stacked hourglass network)学习
  • 使用python来保存键盘输入情况,可保存到sqlite3数据库
  • 什么是幂等
  • stm32单片机个人学习笔记3(GPIO输出)
  • 如何进行DAP-seq的数据挖掘,筛选验证位点
  • 《OpenCV计算机视觉》—— 图像金字塔
  • Unity的Button组件进行扩展
  • C++:模板开端
  • Python 全栈系列271 微服务踩坑记
  • 什么是 SMB 服务器以及它如何工作?
  • AI论文精读笔记-Generative Adversarial Nets(GAN)
  • YOLOv5改进 | 模块缝合 | C3 融合RFAConv和CBAM注意力机制 【二次融合 小白必备】
  • GANs-生成对抗网络
  • SegmentFault for Android 3.0 发布
  • ES6之路之模块详解
  • Java的Interrupt与线程中断
  • JS基础之数据类型、对象、原型、原型链、继承
  • maya建模与骨骼动画快速实现人工鱼
  • node.js
  • Shadow DOM 内部构造及如何构建独立组件
  • vue 配置sass、scss全局变量
  • zookeeper系列(七)实战分布式命名服务
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 规范化安全开发 KOA 手脚架
  • 鱼骨图 - 如何绘制?
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​探讨元宇宙和VR虚拟现实之间的区别​
  • # 数论-逆元
  • ( 10 )MySQL中的外键
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (23)Linux的软硬连接
  • (42)STM32——LCD显示屏实验笔记
  • (AngularJS)Angular 控制器之间通信初探
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (C语言)逆序输出字符串
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (Python) SOAP Web Service (HTTP POST)
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)springboot宠物医疗服务网站 毕业设计688413
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (九)信息融合方式简介
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (三) diretfbrc详解
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)SpringBoot3---尚硅谷总结
  • (一)插入排序
  • (一)基于IDEA的JAVA基础12
  • (转)母版页和相对路径
  • .net core + vue 搭建前后端分离的框架