博客 2016-09-06

简介:

内部使用,大多需要个私有仓库,方便定制与管理,高速下载等


版本选择:
网上绝大部分都是使用registry 1

1.6 之后 就支持registry 2 了


下载安装: 

docker pull registry:2.5


目前最新的是2.5  当然你也可以下2.0 、2.1 ...

docker pull registry:2.1

https://github.com/docker/distribution


搭建: 

docker run --name my_registry --restart=always -d -p 5000:5000 -v /root/data_registry:/var/lib/registry  registry:2

/root/data_registry 代替container 内部的 images存放目录 /var/lib/registry


这样,你删除container ,再重新这样启动,仓库的images 还是存在的!


注:老版本的是/tmp/registry


使用:

 docker tag centos:latest 10.16.17.121:5000/centos:midea
 docker push  10.16.17.121:5000/centos

 

 这样,就可以在各client 端下载使用:

 docker pull 10.16.17.121:5000/centos:midea
 docker push 10.16.17.121:5000/centos:midea


api 调用:

curl  http://10.16.17.121:5000/v2/_catalog
{"repositories":["wordpress"]}

更多,查看文档

https://github.com/docker/distribution/blob/master/docs/spec/api.md



关于安全认证问题:(生产环境建议使用,因为别人可以随便下载上传更改image哦!)

(测试环境,不想用证书,可以如下配置)

centos 配置:

mkdir /etc/systemd/system/docker.service.d
vim /etc/systemd/system/docker.service.d/docker.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd    --insecure-registry  ip:5000
#ExecStart=/usr/bin/dockerd -H fd:// -D --tls=true --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H tcp://192.168.59.3:2376
systemctl daemon-reload
service docker restart


详细文档见:

https://docs.docker.com/engine/admin/systemd/