仓库(Repository)是集中存放镜像的地方,分为公共仓库和私有仓库
注册服务器(Registry)是存放仓库的具体服务器,一个注册服务器上可以有多个仓库,每个仓库下面有多个镜像
首先要说的是docker Hub 公共镜像市场
本地执行docker iogin 登陆
官方给出的命令
1 | docker pull 注册仓库/仓库名 |
这里需要将要上传的镜像改名,在名称前加上自己dockerHub的ID
速度很慢,需要配置镜像加速器,我配置的是阿里的配置镜像加速器
里面会有自己专用的加速连接
1 | mkdir -p /etc/docker |
再次上传就很快了
来到docker hub就可以看到了
可以通过官方提供的registry 镜像来搭建本地私有仓库环境
1 | docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry |
可以看到容器已经启动了,映射主机5000端口,容器的/tmp/registry 挂载到主机/opt/data/registry目录,地址为172.17.0.2:5000
docker tag 将要上传的镜像进行标记(docker tag Image[:tag] [Registryhost/] [Username/] Name [:Tag])
1 | docker tag centos 172.17.0.2:5000/test |
配置对仓库进行的安全性检查
在/etc/docker/daemon.json1
{"insecure-registries":["172.17.0.2:5000"]}
1 | systemctl restart docker |
1 | docker push 172.17.0.2:5000/test |
1 | curl -XGET http://172.17.0.2:5000/v2/_catalog |
可以看到镜像存在
删除本地镜像
1 | docker pull 172.17.0.2:500/test |
可以看到镜像被拉下来了