Docker搭建本地仓库registry

我们上传到 Docker Hub 的镜像任何人都能够访问,虽然可以用私有 repository,但不是免费的。
所以我们就搭建本地Registry,来管理我们自己的仓库。

Docker 已经将 Registry 开源了,我们可以直接docker pull,

Docker Hub 上也有官方的镜像 Registry,我们可以注册一个账号,docker login 登陆,然后下载镜像。

一,部署Registry

运行命令 docker pull registry

 

二,运行容器

-d 是后台启动容器。

-p 将容器的 5000 端口映射到 Host 的 5000 端口。5000 是 registry 服务端口。

-v 将容器 /var/lib/registry 目录映射到 Host 的 /myregistry,用于存放镜像数据。

上传到本地的镜像保存在/myregistry/docker/registry/v2/repositories/ 下面

查看正在运行的容器

扫描二维码关注公众号,回复: 3841370 查看本文章

打开浏览器,访问http://127.0.0.01:5000/v2/_catalog,可以查看到{"repositories": []} 表示现在仓库中,没有镜像images

三、在本地host上,重命名镜像,添加新的tag,使之与registry 相匹配

以busybox镜像为例,上传到本地仓库中,或者从Docker Hub 下载也可以、

镜像名称由 repository 和 tag 两部分组成,默认为latest。可以在docker build 时用格式image:tag指定,

而 repository 的完整格式为:[registry-host]:[port]/[username]/xxx

四、上传镜像到仓库中

成功会出现上述提示,表示本地的仓库默认使用的是https进行上传,那行是latest是重新上传出现的。

如果你在push镜像的时候出现问题,可能是因为我们启动的registry服务不是安全可信赖的.这个时候我们需要修改docker的配置文件/etc/default/docker,添加下面的内容:   "- - insecure-registry 127.0.0.1:5000", 再重启docker 服务

五、删除下载的镜像,从本地镜像下载。

docker rmi 127.0.0.1:5000/busybox-test  删除镜像

docker pull  从本地镜像下载。

docker images 查看下载成功

最后在宿主机浏览器中访问127.0.0.1:5000/v2/_catalog,出现上传的镜像。

在此路径下,可以查看上传到本地的镜像。

猜你喜欢

转载自blog.csdn.net/qq_42114918/article/details/81609465