docker部署npm私有仓库verdaccio

本文介绍如何使用Docker部署npm私有仓库Verdaccio,包括配置自定义端口、使用HTTPS、DockerCompose部署及集成ldap等高级功能。通过对比测试,展示私有仓库在公司内网环境下提升npm安装效率的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方文档: http://verdaccio.org/docs/en/docker.html
git地址:https://github.com/verdaccio/verdaccio
hub地址:https://hub.docker.com/r/verdaccio/verdaccio
在这里插入图片描述

使用私有仓库缓存效率对比

  • 测试环境:公司内网
    在这里插入图片描述
    在这里插入图片描述
  • npm install
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
    • npm install --registry http://私仓
      在这里插入图片描述

标记版本

主要版本
docker pull verdaccio/verdaccio:4
次要版本
docker pull verdaccio/verdaccio:4.0
补丁版本
docker pull verdaccio/verdaccio:4.0.0

更多tag,请访问hub地址:Docker Hub Verdaccio

使用Docker运行Verdaccio

运行容器

docker run -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio

持久化挂载

docker run -it --rm --name verdaccio \
  -p 4873:4873 \
  -v $PATH/conf:/verdaccio/conf \
  -v $PATH/storage:/verdaccio/storage \
  -v $PATH/plugins:/verdaccio/plugins \
  verdaccio/verdaccio

注意:Verdaccio在容器内以非root用户身份(uid = 10001)运行,如果您使用bind mount覆盖默认值,则需要确保将mount目录分配给正确的用户。在上面的示例中,您需要运行,sudo chown -R 10001:65533 /opt/verdaccio否则将在运行时收到权限错误。 建议使用docker卷而不是使用绑定安装。

  • 环境变量
属性默认描述
VERDACCIO_APPDIR/opt/verdacciodocker工作目录
VERDACCIO_USER_NAMEverdaccion系统用户
VERDACCIO_USER_UID10001用于应用文件夹权限的用户标识
VERDACCIO_PORT4873verdaccio端口
VERDACCIO_PROTOCOLhttp默认的http协议

Docker自定义端口配置

使用环境变量 VERDACCIO_PORT将会忽略conf/config.yaml中的配置,改变容器内服务的监听端口

docker run -it --rm --name verdaccio \
  -e "VERDACCIO_PORT=8080" -p 8080:8080 \  
  verdaccio/verdaccio

Docker中使用HTTPS

可以配置verdaccio将要监听的协议,类似于端口配置。PROTOCOL在config.yaml中指定证书后,必须将环境变量的默认值(“ http”)覆盖为“ https”。

docker run -it --rm --name verdaccio \
  --env "VERDACCIO_PROTOCOL=https" -p 4873:4873
  verdaccio/verdaccio

DockerCompose部署

version: '3.1'

services:
  verdaccio:
    image: verdaccio/verdaccio
    container_name: "verdaccio"
    networks:
      - node-network
    environment:
      - VERDACCIO_PORT=4873
    ports:
      - "4873:4873"
    volumes:
      - "./storage:/verdaccio/storage"
      - "./config:/verdaccio/conf"
      - "./plugins:/verdaccio/plugins"  
networks:
  node-network:
    driver: bridge

Verdaccio集成ldap

git地址:https://github.com/verdaccio/docker-examples

Docker是一种流行的容器化技术,可以将应用程序及其依赖项打包成一个独立的容器,方便在不同环境中进行部署和运行。而本地私有仓库则是用于存储和管理这些Docker镜像的地方。下面是关于如何在本地部署私有仓库的步骤: 1. 安装Docker:首先需要在你的机器上安装Docker。你可以根据操作系统的不同,选择合适的安装方式。 2. 创建私有仓库容器:使用以下命令创建一个本地私有仓库容器: ``` docker run -d -p 5000:5000 --restart=always --name registry registry:2 ``` 这个命令会在本地启动一个名为registry的容器,并将其映射到主机的5000端口。 3. 配置Docker客户端:默认情况下,Docker客户端只能从公共仓库中拉取镜像。为了能够使用本地私有仓库,需要进行一些配置。在Docker客户端的配置文件(通常是`/etc/docker/daemon.json`)中添加以下内容: ``` { "insecure-registries": ["localhost:5000"] } ``` 这样就允许Docker客户端从本地私有仓库拉取镜像了。 4. 推送和拉取镜像:现在你可以使用`docker push`命令将本地构建的镜像推送到私有仓库中,例如: ``` docker build -t myimage:tag . docker tag myimage:tag localhost:5000/myimage:tag docker push localhost:5000/myimage:tag ``` 同样,你也可以使用`docker pull`命令从私有仓库中拉取镜像: ``` docker pull localhost:5000/myimage:tag ``` 5. 验证私有仓库:你可以通过访问`http://localhost:5000/v2/_catalog`来验证私有仓库是否正常工作。如果返回一个空的JSON对象`{}`,表示私有仓库是空的。 希望以上步骤对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值