您现在的位置是:首页 >学无止境 >verdaccio + docker搭建私有npm仓库(有手就行)网站首页学无止境

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

程序猿想成程序狮 2024-06-17 11:19:29
简介verdaccio + docker搭建私有npm仓库(有手就行)

一、环境准备

docker

二、步骤

运行verdaccio

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

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

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

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

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

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

docker cp verdaccio:/verdaccio D:volumesverdaccio

进入D:volumesverdaccio可以看到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:volumesverdacciostorage:/verdaccio/storage -v D:volumesverdaccioconf:/verdaccio/conf -v D:volumesverdaccioplugins:/verdaccio/plugins -p 4873:4873 --restart=always verdaccio/verdaccio

大功告成

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

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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。