介绍:
Registry用于保存docker镜像,包括镜像的层次结构和元数据
用户可自建Registry,也可以使用官方的Docker Hubweb
分类:docker
安装docker-resitry:json
~]# yum -y install docker-registry
查看docker-registry安装后各目录:vim
~]# rpm -ql docker-registry /etc/docker-distribution/registry/config.yml // registry的配置文件 /usr/bin/registry // 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 // 镜像所存位置
查看docker-registry的配置文件:缓存
~]# cat /etc/docker-distribution/registy/config.yml version: 0.1 log: fields: service: registry storage: cache: layerinfo: inmemory // 缓存在内存中 filesystem: rootdirectory: /var/lib/registry // 数据存储路径 http: addr: :5000 // 监听端口
启动服务:安全
~]# systemctl start docker-distribution ~]# ss -nlt | grep 5000
LISTEN 0 128 :::5000 :::*
推送镜像到registry:服务器
~]# docker images ..... myweb v0.3-9 7d72ff5e7b03 2 hours ago 16MB
.....
~]# docker tag myweb:v0.3-9 hadoop2:5000/myweb:v0.3-9 // 要将tag改成registry服务器的hostname:port/tag
~]# docker push hadoop2:5000/myweb:v0.3-9 // 推送镜像到resistry,第一次会报错,由于客户端默认使用https协议
Get https://hadoop2:5000/v2/: http: server gave HTTP response to HTTPS client
~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://l10nt4hq.mirror.aliyuncs.com"], // 镜像下载加速
"bip": "10.0.0.1/16", // docker桥的地址,新建容器时会依次分配地址
"hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"], // 容许对外监听
"insecure-registries": ["hadoop2:5000"] // 添加此行
}tcp
~]# systemctl restart docker // 重启服务生效oop
~]# docker push hadoop2:5000/myweb:v0.3-9 // 再次推送,成功spa
~]# ll /var/lib/registry // 会生成一个docker目录,数据都在docker目录下
docker