一、安装步骤
1.1、直接从公共库上面下载register镜像在本地执行
#docker run -d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry
注:docker默认的仓库镜像信息在/var/lib/registry中,所以在启动仓库时用这个目录
# docker run -d -p 5000:5000 --name registry -v /opt/data/registry:/var/lib/registry registry
1.2、把一个本地镜像push到私有仓库中
首先在客户机器下pull一个比较小的镜像来测试(此处使用的是busybox)。
1.3、修改该镜像tag
# docker tag docker.io/busybox 192.168.8.2:5000/busybox
1.4、把打了tag的镜像上传到私有仓库
# docker push 192.168.8.2:5000/busybox
注:因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。修改docker启动配置文件(此处是修改客户机器的配置)Ubuntu下配置文件地址为:/etc/init/docker.conf,在其中增加–insecure-registry 192.168.8.2:5000如下所示:
# sudo vi /etc/init/docker.conf
或是添加到docker的daemon.json中,如:
insecure-registries
修改/etc/sysconfig/docker文件,并重新启动docker服务。
ADD_REGISTRY='--add-registry 10.100.50.120:5000'
INSECURE_REGISTRY='--insecure-registry 10.100.50.120:5000'
之后重启docker
1.5、重启完之后我们再次运行推送命令。
1.5.1、把本地镜像推送到私有服务器上
# docker push 192.168.8.2:5000/busybox
1.5.2、在私人仓库里面搜索镜像也出错:Unexpected status code 404 #搜索docker镜像的时候返回404错误,找不到镜像。
# docker search 192.168.8.2:5000/busybox
查看官方文档,当前版本不支持搜索,可以利用V2版本尝试。
# docker run -d -p 5000:5000 --name registry -v /opt/data/registry:/tmp/registry registry:2
还是不能提供搜索功能,同样不能搜索,还是一样的错误。官方文档说的是,可以支持API。
尝试一下。
# curl http://192.168.8.2:5000/v2/_catalog
# curl http://192.168.8.2:5000/v2/image_name/tags/list
如果你想了解更多内容,欢迎访问我的CSDN博客:blog.csdn.net/myself88129 这里分享了许多技术文章和心得,让我们一起学习,共同进步。期待你的到来!