Docker 搭建本地仓库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker 搭建本地仓库相关的知识,希望对你有一定的参考价值。
Docker Hub 公有仓库存在以下缺点:
1、网络依赖性强,链接速度限制;
2、私有化资料存放网络不安全
3、私有化仓库需要收费,存在安全风险
解决方案使用本地registry
Docker已经讲registry开源了,同时在Docker Hub上也有官方镜像registry
我们可以直接使用:
(1)启动registry容器
shell>docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:2
使用registry:2的镜像
-d 后台运行
-p 讲容器的5000端口映射到主机的5000端口
-v 将容器/var/lib/registry目录映射到Host的/myregistry/docker,用于存放镜像数据
验证:shell>docker ps 查看仓库容器是否启动
(2)本地下载一个测试镜像
shell>docker pull centos
(3)通过docker tag 重命名本地镜像,与registry匹配
shell>docker tag centos 仓库服务器地址:5000/用户名/centos:v1
shell>docker tag centos x.x.x.x:5000/testname/centos:v1
repository的完整格式为:
Docker Hub 上可以省略[registry-host]:[port],默认为docker.io
(4)docker pull/push测试
shell>docker push x.x.x.x:5000/testname/centos:v1
shell>docker pull x.x.x.x:5000/testname/centos:v1
(5)上传的镜像在该目录下
/myregistry/docker/registry/v2/repositories/docker39/cetnos_httpd/
提示:
shell>docker pull x.x.x.x:5000/testname/cetnos
Using default tag: latest
Error response from daemon: Get https://x.x.x.x:5000/v2/: http: server gave HTTP response to HTTPS client
这是docker不支持https
centos系统通过:修改或者添加daemon.json文件,重启docker服务即可
shell>vim /etc/sysconfig/daemon.json
{"insecure-registries":["x.x.x.x:5000"]}
shell>systemctl restart docker //重启服务后,记得启动registry仓库容器
以上是关于Docker 搭建本地仓库的主要内容,如果未能解决你的问题,请参考以下文章