Docker 安装registry (构建私有镜像库)

下载registry镜像

docker pull registry

远行registry

// -v ~/registry:/var/lib/registry 挂载镜像目录
docker run -d -p 5000:5000 -v ~/registry:/var/lib/registry --name uwo_registry registry

上传镜像到私有库

docker pull mongo
docker tag mongo localhost:5000/mongo
docker push localhost:5000/mongo

远程访问私有库

配置/etc/default/docker

DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375"

配置/etc/docker/daemon.json允许HTTP访问(默认是HTTPS)

{
	# 修改获取镜像源
	"registry-mirrors": ["https://dhq9bx4f.mirror.aliyuncs.com"],
	# 允许HTTP访问
    "insecure-registries":["10.211.55.8:5000"]
}

registry API

查看所有的镜像

http://10.211.55.8:5000/v2/_catalog

查看镜像信息

http://10.211.55.8:5000/v2/mongo/tags/list

删除私有库中的镜像

修改config.yml

// 主要添加delete.enabled = true
version: 0.1
log:
  fields:
    service: registry
storage:
  cache:
    blobdescriptor: inmemory
  filesystem:
    rootdirectory: /var/lib/registry
  delete:
    enabled: true
http:
  addr: :5000
  headers:
    X-Content-Type-Options: [nosniff]
health:
  storagedriver:
    enabled: true
    interval: 10s
    threshold: 3

重新run Registry

// 挂载config.yml
docker run -d -p 5000:5000 -v ~/registry:/var/lib/registry -v ~/registry/config.yml:/etc/docker/registry/config.yml --name uwo_registry registry

请求是添加HEADER

Accept: application/vnd.docker.distribution.manifest.v2+json

查询镜像

curl -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -I -X GET http://localhost:5000/v2/uwo-web/manifests/latest
// 结果
HTTP/1.1 200 OK
Content-Length: 2212
Content-Type: application/vnd.docker.distribution.manifest.v2+json
Docker-Content-Digest: sha256:94985f90eef634e674a1826cc469381e6ce8f188798308ee79b0045837ee2032
Docker-Distribution-Api-Version: registry/2.0
Etag: "sha256:94985f90eef634e674a1826cc469381e6ce8f188798308ee79b0045837ee2032"
X-Content-Type-Options: nosniff
Date: Tue, 15 Aug 2017 07:12:47 GMT

删除镜像

curl -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X DELETE http://10.211.55.8:5000/v2/uwo-web/manifests/sha256:94985f90eef634e674a1826cc469381e6ce8f188798308ee79b0045837ee2032

进入容器

docker exec -it f50ff19602d /bin/sh

查看容器大小

du -sch /var/lib/registry/
// 结果
373.8M	/var/lib/registry/
373.8M	total

垃圾回收

registry garbage-collect /etc/docker/registry/config.yml

再次查看容器大小

du -sch /var/lib/registry/
// 结果
126.0M	/var/lib/registry/
126.0M	total

转载于:https://my.oschina.net/yan5845hao/blog/1509918

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值