docker系列<五>镜像私有仓库
一、一般的系统都是分布式系统,需要在很多台服务器上架设同一个服务应用,这个时候需要每一台服务器上去构建应用镜像然后创建容器。这样每一次根新容器的时候都需要一个一个去更新,管理太难了,如果把它存到某一个公用的地方统一管理,是不是方便很多了。如何做到镜像共享呢?仓库的优势就体现出来了。docker的公有仓库DockerHub给我们提供了一些公有镜像。可以登录一下docker仓库上看下,地址:https://hub.docker.com/
二、拉取公有仓库镜像,比如拉取nginx 镜像
docker image pull nginx
如果拉取比较慢的话可以到etc/docker/daemon.json里面修改一下使用国内的加速镜像。
三、构建私有仓库
为什么要构建私有仓库呢?我们可以看到公有仓库拉取镜像是很慢的,而且公有仓库谁都可以拉取,这里存在安全隐患,所以一个公司是需要有一个私有仓库来管理该公司内部的所有镜像,别人无法拉取,不会造成代码泄露。
- 拉取公有仓库的registry 镜像,并运行起来
- 执行push命令将镜像推到registry 本地仓库中
3、那么依次执行以下步骤
1、利用tag标签,将需要推到私有仓库的镜像copy一份 docker image tag 镜像名 ip:post/仓库镜像名 2、使用push命令将刚才copy 的镜像推送到registry私有仓库 docker push ip:post/仓库镜像名 3、使用命令查看私有仓库中的镜像 curl ip:post/v2/_catalog
四、我们已经把私有仓库创建好了,那么久准备另一台主机来拉取这个镜像
- 配置仓库路径,etc/docker文件夹下创建daemon.json 文件并配置如下信息
{"insecure-registries":["192.168.124.25:5000"]}
-
拉取上一台服务器上的仓内镜像
docker pull 192.168.124.25:5000/dockertestapi
已上就是私有仓库的使用。