Docker仓库(Registry) 分为公开仓库(Public)和私有仓库(Private)两种形式。
docker hub
docker cloud
使用 docker pull 命令,下载 registry 镜像。
[root@localhost ~]# docker pull registry
下载完成后,终端显示如下:
使用 docker run 命令,启动该 docker 仓库:
[root@localhost ~]# docker run -d -p 5000:5000 registry 360d7be86ef486403669ca5665e24f7596d7cc7c6a450135e7a11124272db84d
使用 docker ps 命令,查看正在运行的 docker容器:
[root@localhost ~]# docker ps
终端显示如下:
检查启动的容器的效果:
[root@localhost ~]# curl 127.0.0.1:5000/v2/_catalog
终端显示如下图:
使用 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
终端显示如下:
使用 docker start 命令,启动 registry 镜像:
[root@localhost ~]# docker start 360d7be86ef4 360d7be86ef4
使用 docker ps 命令,查看当前正在运行的容器:
[root@localhost ~]# docker ps
终端显示如下:
我们再次使用 docker pull 命令,从 docker 仓库拉取一个 centos 镜像。
[root@localhost ~]# docker pull centos
拉取完成后,终端显示如下:
使用 docker images 命令, 查看本地所有的 docker 镜像:
[root@localhost ~]# docker images
终端显示如下:
使用 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
推送成功,终端显示如下:
我们还可以使用 docker pull 命令,从私有仓库下载镜像:
[root@localhost ~]# docker pull 192.168.33.135:5000/centos-haicoder
Docker 公有仓库的代表有 docker hub 和 docker cloud。Docker 私有仓库的代表有 registry 和 harbor。