三. 镜像仓库和Docker Hub

Docker 仓储(Registry)是存放镜像的一个共享位置。我们可以不用用户和口令就能从Docker Hub下载镜像。

A “registry” is a service for hosting lots of image repositories, potentially from different users. A “repository” is an image library that potentially holds many different tagged images

1. 在Docker Hub注册一个账号

三. 镜像仓库和Docker Hub_第1张图片
image.png

注册完以后登陆结果:


三. 镜像仓库和Docker Hub_第2张图片
image.png

2. 向Docker CLI增加Crediential(docker login

三. 镜像仓库和Docker Hub_第3张图片
image.png

3. push镜像

下面的操作是失败的,主要原因是和我的Docker HUB结构不一致
三. 镜像仓库和Docker Hub_第4张图片
image.png

下面是正确方法:


三. 镜像仓库和Docker Hub_第5张图片
image.png

Docker image repositories 使用这种格式: {user}/{app}, but often the tag is used to specify a release version, or a variant of the image, 它会采用这种格式: {user}/{app}:{tag}. 如果不指定tag,则默认使用latest tag.

docker image push很智能的,比如我的镜像引用ubuntu为基础镜像,由于ubuntu这个镜像在docker hub里面是存在的,所以它不会把ubuntu这个layer也push进去

4. pull操作

三. 镜像仓库和Docker Hub_第6张图片
image.png

5. 自动构建

即把dockerfile放到github上,然后让docker hub关联到github上,当我们提交变更到github上时,dockerhub自动构建镜像

5.1 Github上的仓库结构

三. 镜像仓库和Docker Hub_第7张图片
图片.png

注意这里的Dockerfile文件是必须的

5.2 在Docker Hub上创建自动构建仓库

三. 镜像仓库和Docker Hub_第8张图片
image.png
三. 镜像仓库和Docker Hub_第9张图片
image.png
三. 镜像仓库和Docker Hub_第10张图片
image.png
三. 镜像仓库和Docker Hub_第11张图片
image.png
三. 镜像仓库和Docker Hub_第12张图片
image.png

注意:这个过程会涉及授权,截图如下:


三. 镜像仓库和Docker Hub_第13张图片
image.png

三. 镜像仓库和Docker Hub_第14张图片
image.png

我们可以从Gitab查看被授权的Dockerhub信息:


三. 镜像仓库和Docker Hub_第15张图片
图片.png

或者从这个位置看:


三. 镜像仓库和Docker Hub_第16张图片
图片.png

5.3 触发自动构建镜像实验

我们修改gitlab上的代码
接着去查看Docker Hub上的自动构建:


三. 镜像仓库和Docker Hub_第17张图片
图片.png

过一会再去看:


三. 镜像仓库和Docker Hub_第18张图片
图片.png

你会注意到Dockerfiler已经被自动copy过来了:
三. 镜像仓库和Docker Hub_第19张图片
图片.png

6 本地Registry的搭建

6.1 首先运行Registry镜像

使用官方的 registry image来启动本地的私有仓库。 用户可以通过指定参数来配置私有仓库位置,默认情况下,仓库会被创建在容器的/tmp/registry 下。可以通过 -v 参数来将镜像文件存放在本地的指定路径

三. 镜像仓库和Docker Hub_第20张图片
图片.png

6.2 tag一个镜像后才能push到Registry上

创建好私有仓库之后,就可以使用 docker image tag 来标记一个镜像,然后推送它到仓库


三. 镜像仓库和Docker Hub_第21张图片
图片.png

6.3 使用REST API 访问Docker Registry

我们可以列出local registry里面所有的repositories


图片.png

你可能感兴趣的:(三. 镜像仓库和Docker Hub)