为了满足企业或组织内部分享镜像, 官方在 Github 上有一个项目 docker-registry, 专门用于自建 Docker 的私有镜像库. 镜像管理是 Docker 的核心, 为了保证镜像数据的可靠, 可用和安全, docker-registry 现在支持镜像数据存储在 S3,GCS 等云存储上.
1,registry 镜像下载
首先从国内的镜像库下载 registry 镜像, 因为国外镜像库下载太? 慢了. 这里我建议选择阿里的 docker 镜像库, 在本地服务器上安装好 docker 后执行命令:
- http://blog.csdn.net/wangtaoking1/article/details/44180901/
- http://blog.csdn.net/fgf00/article/details/52040492
仓库软件包 docker-registry 已经被 docker-distribution 取代
启动 docker-distribution 服务
- yum -y install docker-distribution
- systemctl enable docker-distribution
- systemctl start docker-distribution
查看通讯端口 5000
- [root@test01 ~]# netstat -lnpt
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- tcp6 0 0 :::5000 :::* LISTEN 64987/registry
如果要上传镜像到仓库和从仓库下载镜像到本地, 必须在节点配置文件添加仓库地址.
- vim /etc/docker/daemon.json
- {
- "insecure-registries": ["192.168.10.7:666"],"registry-mirrors": ["https://of4n3bvy.mirror.aliyuncs.com/"]
- }
或者
- vim /etc/sysconfig/docker
- OPTIONS='--insecure-registry 10.10.7.30:5000'
- ADD_REGISTRY='--add-registry 10.10.7.30:5000'
加上后, search 镜像, 私有仓库和 docker hub 上都会显示; 不加搜索私有仓库, 需要命令中指定私有仓库 ip
重启服务
systemctl restart docker
客户端上传镜像
docker push 192.168.20.199:5000/haha
上传的镜像放在 cd /var/lib/registry/docker/registry/v2/repositories
来源: http://www.bubuko.com/infodetail-2622106.html