Docker Registry
是用于存放镜像的地方,可以类比apt-get和yum的仓库。
Docker Hub
是Docker
公司官方提供的一个公开的Docker Registry
。
Docker Hub
官网:https://hub.docker.com
由于Docker Hub
服务器在国外,对于中国用户来说,下载速度非常慢。
DaoCloud
在国内提供了一个Docker Hub
镜像服务,而且免费, 大大提高了国内Docker
用户的使用热情。
使用方法:
1、修改Docker
配置文件/etc/default/docker
如下:
DOCKER_OPTS="--registry-mirror=http://aad0405c.m.daocloud.io"
2、重启Docker
服务即可:
sudo service docker restart
现在使用docker pull
拉取镜像真是特别爽,速度很快,感谢DaoCloud
公司。
Docker Hub
是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。 但是,假如公司有很多的不想公开的私有镜像,为了方便公司内部使用这些镜像,有必要自己搭建一个私有的Docker Registry
。 这个可以通过开源软件Registry
来达成目的。
Registry
在GitHub上有两份代码:
Registry
官方在Docker Hub
上提供了镜像,我们可以直接使用该镜像来运行一个容器。
拉取tag
为latest
的镜像:
sudo docker pull registry
运行容器:
sudo docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry
说明:Registry
默认会将上传的镜像保存在容器的/var/lib/registry
目录里, 我们将主机的/opt/registry
目录挂载到容器的/var/lib/registry
目录, 即可实现将镜像保存到主机的/opt/registry
目录了。
验证一下容器是否运行正常:
curl http://127.0.0.1:5000/v2
1、假设,我们的本地仓库中有一个名称为registry的镜像,我们要通过docker tag将该镜像标志为要推送到私有仓库:
sudo docker tag registry 127.0.0.1:5000/registry
再查看一下本地的镜像:
2、推送:
sudo docker push 127.0.0.1:5000/registry
我们查看一下宿主机器上的/opt/registry
目录:
sudo docker pull 127.0.0.1:5000/registry