Docker私有仓库(Registry)

Docker私有仓库(Registry)教程

Docker仓库(Registry) 分为公开仓库(Public)和私有仓库(Private)两种形式。

Docker公有仓库

  • docker hub

  • docker cloud

Docker私有仓库

  • registry
  • harbor

Docker私有仓库部署

使用 docker pull 命令,下载 registry 镜像。

[root@localhost ~]# docker pull registry

下载完成后,终端显示如下:

01 docker registry.png

使用 docker run 命令,启动该 docker 仓库:

[root@localhost ~]# docker run -d -p 5000:5000 registry 360d7be86ef486403669ca5665e24f7596d7cc7c6a450135e7a11124272db84d

使用 docker ps 命令,查看正在运行的 docker容器

[root@localhost ~]# docker ps

终端显示如下:

02 docker registry.png

检查启动的容器的效果:

[root@localhost ~]# curl 127.0.0.1:5000/v2/_catalog

终端显示如下图:

03 docker registry.png

使用 vim 命令,修改容器仓库配置:

[root@localhost ~]# vim /etc/docker/daemon.json

输入以下内容:

{"registry-mirrors":["http://haicoder.m.daocloud.io"],"insecure-registries":["192.168.33.135:5000"]}

其中,域名需要填写自己的域名,ip 地址需要填写本机的 ip 地址。配置修改完成后,重启 docker 服务:

[root@localhost ~]# systemctl restart docker

使用 docker ps -a 命令,查看当前所有的容器:

[root@localhost ~]# docker ps -a

终端显示如下:

04 docker registry.png

使用 docker start 命令,启动 registry 镜像:

[root@localhost ~]# docker start 360d7be86ef4 360d7be86ef4

使用 docker ps 命令,查看当前正在运行的容器:

[root@localhost ~]# docker ps

终端显示如下:

05 docker registry.png

我们再次使用 docker pull 命令,从 docker 仓库拉取一个 centos 镜像。

[root@localhost ~]# docker pull centos

拉取完成后,终端显示如下:

06 docker registry.png

使用 docker images 命令, 查看本地所有的 docker 镜像:

[root@localhost ~]# docker images

终端显示如下:

07 docker registry.png

使用 docker run 命令,启动刚拉取的 centos 镜像:

[root@localhost ~]# docker run -it -d --name haicoder centos

使用 docker tag 命令,给正在运行的 centos 镜像的容器,打一个 tag:

[root@localhost ~]# docker tag centos 192.168.33.135:5000/centos-haicoder

使用 docker push 命令,将镜像推送到私有仓库:

[root@localhost ~]# docker push 192.168.33.135:5000/centos-haicoder

推送成功,终端显示如下:

08 docker registry.png

我们还可以使用 docker pull 命令,从私有仓库下载镜像:

[root@localhost ~]# docker pull 192.168.33.135:5000/centos-haicoder

Docker私有仓库总结

Docker 公有仓库的代表有 docker hub 和 docker cloud。Docker 私有仓库的代表有 registry 和 harbor。