registry 用来保存docker镜像
包括镜像的层次结构和元数据
用户可自建registry,也可使用官方的docker hub
分类
sponsor registry 第三方的registry,供客户和docker社区使用
mirror registry 第三方的registry,供客户使用
vendor registry 由发布docker镜像的供应商提供的registry
private registry 通过设有防火墙和额外的安全层的私有实体提供的registry
docker 提供的
registry:托管镜像,运行在容器中,
保存着很多镜像,
如果容器删除了?那些镜像? ---->存储卷(最好使用网络存储,不存在本地)
[root@localhost vagrant]# yum -y install docker-registry
[root@localhost vagrant]# rpm -ql docker-distribution
/etc/docker-distribution/registry/config.yml
/usr/bin/registry
/usr/lib/systemd/system/docker-distribution.service
/usr/share/doc/docker-distribution-2.6.2
/usr/share/doc/docker-distribution-2.6.2/AUTHORS
/usr/share/doc/docker-distribution-2.6.2/CONTRIBUTING.md
/usr/share/doc/docker-distribution-2.6.2/LICENSE
/usr/share/doc/docker-distribution-2.6.2/MAINTAINERS
/usr/share/doc/docker-distribution-2.6.2/README.md
/var/lib/registry # 应该放一个很大的路径
[root@localhost vagrant]# vim /etc/docker-distribution/registry/config.yml
[root@localhost vagrant]# systemctl start docker-distribution
[root@localhost xxxxxxx]# docker tag myweb:v0.3 ip:5000/myweb:v0.3
[root@localhost xxxxxxx]# docker push ip:5000/myweb:v0.3
# 会报错
# docker push默认是使用https协议
# docker端
# 需标记为非加密、非安全的registry # insecure-registry :[]
# 在daemon.json 中添加insecure-registry :["ip:5000"]
# systemctl restart docker
# [root@localhost xxxxxxx]# docker push ip:5000/myweb:v0.3
Docker private Registry的Nginx反代配置方式:
client_max_body_size 0;
location / {
proxy_pass http://registrysrvs;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_basic "Docker Registry Service";
auth_basic_user_file "/etc/nginx/.ngxpasswd";
}