搭建一个 Docker registry 私有仓库
本文描述在 Debian12 Bookworm 上,搭建 HTTPS 的本地 Docker registry 仓库。
服务器
- 安装 Registry。
sudo apt install -y docker-registry
- 配置 Registry。
version: 0.1
log:
fields:
service: registry
environment: staging
storage:
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/docker-registry
delete:
enabled: true
http:
addr: :5000
# host: https://docker.xfoss.com
headers:
X-Content-Type-Options: [nosniff]
# http2:
# disabled: false
tls:
certificate: /etc/ssl/certs/_.xfoss.com.crt
key: /etc/ssl/certs/_.xfoss.com.key
# auth:
# htpasswd:
# realm: basic-realm
# path: /etc/docker/registry
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
注意:若需使用
https
的默认443
端口,应使用 Nginx 进行反向代理,否则docker-register.service
会报出没有权限在443
端口上监听错误。
重启 docker-registry.service
。
systemctl restart docker-registry.service
主机上
# 从 tar 文件导入镜像
docker image import nginx-test.tar nginx:demo
# 给本地 `nginx:demo` 镜像,打上 `hub.xfoss.com:5000/nginx:demo` 标签?
docker tag nginx:demo hub.kgmicro.com:5000/nginx:demo
# 推送该镜像到 hub.kgmicro.com:5000
docker push hub.kgmicro.com:5000/nginx:demo
# 从另一主机上拉取 `nginx:demo`
docker pull hub.kgmicro.com:5000/nginx:demo