有没有感觉下载DockerHub的镜像很慢?至少我感觉慢的不行了,恰好学到了怎么搭建私有仓库,可以把常用的镜像在本地管理。 安装Docker之后,可以是使用官方提供的registry镜像来搭建一套本地私有仓库环境:
docker run -d -p 5000:5000 registry
输入之后就可以等待了,其实本地仓库本身就是容器,这句命令会下载并创建一个registry容器,创建本地的私有仓库。 默认情况下,会将仓库创建在容器的tmp/registry目录下,当然,可以通过-v参数将镜像文件存放到本地的指定路径上。 因为我的腾讯云加了一个10G的数据卷mount在了/data,所以直接:
docker run -d -p 5000:5000 --name registry -v /data/registry:/tmp/registry registry
然后就建好了本地的仓库。比如先上传一个ubuntu的镜像。 然后就可以管理这个私有仓库,上传镜像前需要使用docker tag命令将这个镜像标记为127.0.0.1:500/ubuntu。 标签的格式为:[:TAG][REGISTRYHOST/][USERNAME/]NAME[:TAG]
docker tag ubuntu:latest 127.0.0.1:5000/ubuntu
docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
dbserver lastest b81857c55926 19 hours ago 281.8 MB
ubuntu 14.04 ab80404d13d5 25 hours ago 215.4 MB
mysql latest e0db8fe06e30 36 hours ago 283.5 MB
ubuntu latest fa81ed084842 4 days ago 188.3 MB
127.0.0.1:5000/ubuntu latest fa81ed084842 4 days ago 188.3 MB
registry latest d849e35be7b0 9 days ago 413.9 MB
可以使用docker pull上传标记的镜像:
docker push 127.0.0.1:5000/ubuntu
在获取镜像的时候,只需要在前面加127.0.0.1:5000便可以了。 不过这只是在本地提供服务,因为Docker传输要求https,因此还没有尝试证书问题,所以对外提供服务等有机会再尝试。