Docker Registry

部署registry

  • 使用文件系统存储(/opt/registry):

运行:

# docker pull registry
# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 -restart=always -name registry registry
  • 使用S3文件存储:

创建配置文件/etc/docker/registry-config.yaml,如下:

version: 0.1
log:
  level: info
  fields:
    service: registry
storage:
  s3:
    accesskey: minio
    secretkey: miniopwd
    region: us-east-1
    regionendpoint: http://172.20.128.213:9000
    bucket: docker-registry
    secure: true
    v4auth: true
    chunksize: 5242880
    rootdirectory: /
http:
  addr: :5000

运行:

# docker pull registry
# docker run -d -v /etc/docker/registry-config.yaml:/etc/docker/registry/config.yml -p 5000:5000 -restart=always -name registry registry

启用registry

# cat /etc/docker/daemon.json
{
...
    "insecure-registries": ["registry.foo.com:5000","registry.foo.com:5000"],
...
}

# systemctl restart docker

向私有仓库push镜像

# docker tag foo:latest registry.foo.com:5000/foo:xxx
# docker push registry.foo.com:5000/foo:xxx

私有仓库查询方法

$ curl registry.foo.com:5000/v2/_catalog
$ curl registry.foo.com:5000/v2/foo/tags/list