一、环境准备

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.切换镜像源
例如借助nrm换源
a.首先添加源
nrm add <registry> <url>
例如:nrm add localhost http://localhost:4873
b.然后切换:
nrm use <registry>
例如:nrm use localhost
4.发布npm包
npm publish
5.可以访问http://localhost:4873/ 登录后查看自己发布的包
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐