仓库:集中存放镜像的地方,可分为公共仓库和私有仓库(公共仓库"http://hub.docker.com"或国内的"http://www.daocloud.io")
注册服务器(Registry):是存放仓库的服务器,每个服务器上都可以放置多个仓库,而每个仓库上可以放置多个镜像,每个镜像上可以运行多个容器,每个容器上可以跑一个应用或应用组。
Docker hub为我们提供了很多官方镜像和个人上传的镜像,我们可以下载机构或个人提供的镜像,也可以上传我们自己的本地镜像,然后我们需要的时候也可以随时下载。但缺点是:
(1)由于网络的原因,从dockerhub上下载和上传镜像速度可能会比较慢。
(2)在生产上使用的docker镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内网的开发人员下载。如果上传到dockerhub上所有人都可以看到。
使用Docker私有仓库则解决了以上2个问题,在内部网络搭建docker私有仓库可以使内网人员下载和上传都非常快速,不受外网带宽等因素的影响,同时不在内网的人员无法下载我们的镜像。
1私有仓库搭建与配置步骤
(1)拉取私有仓库镜像
docker pull registry
(2)启动私有仓库容器 registry
docker run ‐di --name=registry -p 5000:5000 registry
(3)打开浏览器 输入地址http://192.168.184.135:5000/v2/_catalog
看到 {"repositories":[]} 表示私有仓库搭建成功并且内容为空
(4)修改daemon.json
vi /etc/docker/daemon.json
添加以下内容,保存退出。 此步用于让 docker信任私有仓库地址
{"insecure-registries":["192.168.184.135:5000"]}
(5)重启docker 服务
systemctl restart docker
2 镜像上传至私有仓库
(1)标记此镜像为私有仓库的镜像
docker tag jdk1.8 192.168.184.135:5000/jdk1.8
(2)再次启i私k容器
docker start registry
(3)上传标记的镜像
docker push 192.168.184.135:5000/jdk1.8