docker仓库
一、什么是仓库
1、docker 仓库是用来包含镜像的位置,docker提供一个注册服务器(register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。
2、docker运行中使用的默认仓库是 docker hub 公共仓库。
二、docker hub
- docker hub是docker公司维护的公共仓库,用户可以免费使用,也可以购买私有仓库。
- docker hub的使用:
1、 首先在https://hub.docker.com/
网站注册一个账号
2、在docker hub上新建一个公共仓库
3、创建之后可以看到公共仓库,接下来要从docker主机上传镜像,首先需要登录
[root@server1 ~]# docker login
Username: username
Password: passwd
4、docker hub为了区分不同用户的同名镜像,要求镜像的格式是:[username]/xxx.tag
docker tag busybox:latest username/busybox:latest
5、上传镜像到docker hub
docker push username/busybox:latest
6、从docker hub拉取镜像
docker pull username/busybox:latest
7、删除本地镜像,再从docker hub中删除镜像
docker rmi username/busybox:latest
8、docker hub的缺点
- 需要internet连接,速度慢
- 所有人都可以访问
- 由于安全原因企业不允许将镜像放到外网
三、registry工作原理
1、一次docker pull 或 push背后发生的事情
index服务主要提供镜像索引以及用户认证的功能。当下载一个镜像的时候,首先会去index服务上做认证,然后查找镜像所在的registry的地址并放回给docker客户端,docker客户端再从registry下载镜像,在下载过程中 registry会去index校验客户端token的合法性,不同镜像可以保存在不同的registry服务上,其索引信息都放在index服务上
2、docker re