返回

**优雅搭建自己的专属仓库:Verdaccio + Docker**

前端

前言

使用 Docker 部署一个私有仓库通常会遇到不少困难,本文将以亲身经历,记录下搭建过程中碰到的问题和相应的解决方案,同时重点介绍搭建私有仓库的整个流程。

环境介绍

  • 服务器: CentOS Linux release 8.5.2111 (Core)
  • Docker: 版本 20.10.17
  • Verdaccio: 版本 5.4.1
  • Node.js: 版本 16.14.2

正式搭建

1. 安装 Docker

1.1 安装依赖项

首先,确保已安装必要的依赖项:

sudo yum install yum-utils device-mapper-persistent-data lvm2

1.2 添加 Docker 存储库

接下来,添加 Docker 存储库:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

1.3 安装 Docker CE

现在,可以安装 Docker CE 了:

sudo yum install docker-ce docker-ce-cli containerd.io

1.4 启动并启用 Docker 服务

最后,启动并启用 Docker 服务:

sudo systemctl start docker
sudo systemctl enable docker

2. 安装 Verdaccio

接下来,通过 Docker 安装 Verdaccio:

docker run -d -p 4873:4873 --name verdaccio verdaccio/verdaccio

3. 配置 Verdaccio

现在,我们需要配置 Verdaccio:

3.1 创建配置文件

首先,创建一个配置文件 verdaccio-config.yaml

storage: ./storage
auth:
  htpasswd:
    file: ./conf/htpasswd
packages:
  "@*/*":
    access: $anonymous
    publish: $authenticated

3.2 创建密码文件

接下来,创建一个密码文件 htpasswd

htpasswd -c ./conf/htpasswd verdaccio

4. 重启 Verdaccio

最后,重启 Verdaccio 使配置生效:

docker restart verdaccio

常见问题及解决方案

1. Verdaccio 无法启动

如果遇到 Verdaccio 无法启动的情况,可以尝试以下解决方案:

1.1 检查端口是否被占用

首先,确保 4873 端口没有被其他进程占用。

1.2 检查配置文件是否有误

其次,仔细检查配置文件 verdaccio-config.yaml 是否存在语法错误。

2. Verdaccio 无法访问

如果遇到 Verdaccio 无法访问的情况,可以尝试以下解决方案:

2.1 检查防火墙设置

首先,确保防火墙已打开 4873 端口。

2.2 检查代理设置

其次,检查代理设置是否正确。

结语

搭建私有 npm 仓库是一项具有挑战性的任务,但只要遵循本文中的步骤,相信你能够轻松搭建自己的专属仓库。Verdaccio + Docker 的组合为我们提供了强大的工具,让我们能够轻松管理私有包,提高开发效率。