docker搭建npm仓库(verdaccio)
拉去镜像
docker pull verdaccio/verdaccio
设置存储目录
mkdir -p ~/data/verdaccio/volume
创建目录结构
$ tree volume
volume
├── conf
│ ├── config.yaml
│ └── htpasswd
└── storage
配置文件内容
不同版本可能有所不同个,这个是github上的
config.yaml
#
# This is the config file used for the docker images.
# It allows all users to do anything, so don't use it on production systems.
#
# Do not configure host and port under `listen` in this file
# as it will be ignored when using docker.
# see https://github.com/verdaccio/verdaccio/blob/master/wiki/docker.md#docker-and-custom-port-configuration
#
# Look here for more config file examples:
# https://github.com/verdaccio/verdaccio/tree/master/conf
#
# path to a directory with all packages
storage: /verdaccio/storage
auth:
htpasswd:
file: /verdaccio/conf/htpasswd
# Maximum amount of users allowed to register, defaults to "+inf".
# You can set this to -1 to disable registration.
#max_users: 1000
security:
api:
jwt:
sign:
expiresIn: 60d
notBefore: 1
web:
sign:
expiresIn: 7d
# a list of other known repositories we can talk to
uplinks:
npmjs:
url: https://registry.npmjs.org/
packages:
'@jota/*':
access: $all
publish: $all
'@*/*':
# scoped packages
access: $all
publish: $all
proxy: npmjs
'**':
# allow all users (including non-authenticated users) to read and
# publish all packages
#
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all
# allow all known users to publish packages
# (anyone can register by default, remember?)
publish: $all
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs
# To use `npm audit` uncomment the following section
middlewares:
audit:
enabled: true
# log settings
logs:
- { type: stdout, format: pretty, level: trace }
#- {type: file, path: verdaccio.log, level: info}
htpasswd
github上这样的,应该不用配置也行,我是直接目录粘过去的。
jpicado:$6vkdNgRX2npc:autocreated 2017-07-11T18:48:38.003Z
运行
docker run --name verdaccio \
-itd \
-v /data/verdaccio/volume:/verdaccio \
-p 4873:4873 \
verdaccio/verdaccio
github是上的docker-compose.yaml应该也能用,我没有测试
version: '2.1'
services:
verdaccio:
image: verdaccio/verdaccio:4
container_name: verdaccio
ports:
- '4873:4873'
volumes:
- './volume/storage:/verdaccio/storage'
- './volume/conf:/verdaccio/conf'
volumes:
verdaccio:
driver: local