verdaccio 文件权限问题 容器权限用户组跟linux上的文件对应不上了

npm ERR! 500 Internal Server Error - POST http://192.168.150.105:4873/-/npm/v1/user
导致问题原因:
copy了一份verdaccio文件,然后config.yaml中直接使用的是verdaccio_new,然后就报500
在这里插入图片描述
查看老的verdaccio配置权限
在这里插入图片描述
查看verdaccio_new配置权限
在这里插入图片描述
解决办法

verdaccio 容器中创建的用户是verdaccio,无法写入主机 root 用户的文件,容器内 verdaccio 使用的 uid 为 10001,gid 为 65533,可以在主机修改权限
sudo chown -R 10001:65533 storage
sudo chown 10001:65533 htpasswd

config.yaml挂载到原先老的verdaccio目录就行,或者直接修改权限

添加链接描述

config.yaml文件

storage: ../storage
# 存放所有插件的目录
plugins: ../plugins

web:
  # 网站Title
  title: xxxx研发中心私服
  # 禁用Gravatar头像
  # gravatar: false
  # 排序方式 asc|desc
  # sort_packages: asc
  # 是否启用暗黑模式
  # darkMode: true
  # logo地址
  # logo: http://somedomain/somelogo.png
  # favicon地址
  # favicon: http://somedomain/favicon.ico | /path/favicon.ico

# i18n翻译配置
# i18n:
# 可用列表见:https://github.com/verdaccio/ui/tree/master/i18n/translations
#   web: en-US

publish:
  allow_offline: true
auth:
  htpasswd:
    file: ./htpasswd
    # 最大注册用户数,默认为 "+inf".
    # 可用通过设置为-1禁止注册
    # max_users: 1000

# 上游npm库,这里可用设置为淘宝
uplinks:
  taobao:
    url: https://registry.npm.taobao.org
    timeout: 3000ms
  yarnpkg:
    url: https://registry.yarnpkg.com/
    timeout: 6000ms
  npmjs:
    url: https://registry.npmjs.org/
    timeout: 6000ms
  local:
    url: http://10.100.218.67:4873/
    timeout: 6000ms
packages:
	# 作用域包
  '@*/*':  
    # 允许所有人访问
    access: $all
    # 注册用户可访问
    publish: username admin
    # 注册用户可访问
    unpublish: username admin
    proxy: taobao yarnpkg npmjs local

  '**':
    # 默认情况下所有用户 (包括未授权用户) 都可以查看和发布任意包
    # 你可以指定 用户名/分组名 (取决于你使用什么授权插件,默认的授权插件是内置的 htpasswd)
    # 访问权限有三个关键词: "$all", "$anonymous", "$authenticated"
    # $all 表示不限制,任何人可访问;
    # $anonymous 表示未注册用户可访问;
    # $authenticated 表示只有注册用户可访问
    access: $all

    # 允许所有注册用户发布/撤销已发布的软件包
    # (注意:默认情况下任何人都可以注册)
    publish: username admin
    unpublish: username admin

    # 如果私有包服务不可用在本地,则会代理请求到'npmjs'
    proxy: npmjs

# 您可以指定传入连接的HTTP /1.1服务器保持活动超时(以秒为单位)。
# 值为0会使http服务器的行为类似于8.0.0之前的Node.js版本,后者没有保持活动超时。
# 解决方法:通过给定的配置可以解决以下问题
server:
  keepAliveTimeout: 60
# 中间件
middlewares:
  audit:
    enabled: true

# 日志设置
logs: { type: stdout, format: pretty, level: http }
max_body_size: 100mb # 设置最大包体积
# 开放远程访问,允许所有IP
listen:
  - 10.100.218.67:4873

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值