搭建一个 Docker registry 私有仓库

本文描述在 Debian12 Bookworm 上,搭建 HTTPS 的本地 Docker registry 仓库。

服务器

  1. 安装 Registry。
sudo apt install -y docker-registry
  1. 配置 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

参考

Last change: 2024-11-21, commit: 5be033f