部署 docker 官方 registry 私有镜像仓库和镜像加速仓库
前言
在折腾 docker 的路上,必然会遇到拉取镜像速度不理想的问题,在加上可能会需要私有的镜像仓库.而使用 docker 官方的 registry 镜像来部署服务就可以解决此两种需求.
需要注意的是 : 镜像加速和私有仓库两种需求需要分别部署.镜像加速缓存
功能需要实时比对官方镜像仓库的版本,所以当私有镜像docker push
到该仓库时由于无法和官方仓库中比对,会导致一直Retrying
无法上传.
私有镜像仓库部署
部署 registry
docker run -d --name registry --restart always \ -p 5000:5000 \ -v /data/registry:/var/lib/registry \ registry:2
客户端配置 daemon.json
镜像仓库可以提供给局域网其他客户端使用,同时也可以提供给公网用户使用.只需要配置客户端daemon.json
的insecure-registries
参数.
例如 registry 所在服务器内网
IP 为 192.168.1.5 ,供内网使用.
{ "insecure-registries": [ "192.168.1.5:5000" ] }
例如 registry 所在服务器公网
IP 为 101.102.103.104 ,且防火墙开放了 5000 端口.
{ "insecure-registries": [ "101.102.103.104:5000" ] }
配置完成需重载 daemon 并重启 docker
sudo systemctl daemon-reload sudo systemctl restart docker
通过 ngixn 反向代理配置域名
当镜像仓库通过 nginx 配置了反向代理域名,则客户端无需
额外配置 daemon.json .
push & pull
标记镜像 docker tag
docker tag imagename 192.168.1.5:5000/imagename:latest # 或 docker tag imagename registry.yourdomain.com/imagename:latest # 无需加 HTTP/HTTPS
推送镜像 docker push
docker push 192.168.1.5:5000/imagename:latest # 或 docker push registry.yourdomain.com/imagename:latest # 无需加 HTTP/HTTPS
拉取镜像 docker pull
docker pull 192.168.1.5:5000/imagename:latest # 或 docker pull registry.yourdomain.com/imagename:latest # 无需加 HTTP/HTTPS
镜像加速缓存部署
单纯的 docker 镜像加速也可以参考以下文章配置即可,无需单独部署 registry .
配置Docker中国官方镜像加速教程
部署 registry
在网络条件更好的服务器上,通过挂载目录持久化保存镜像数据缓存,方便后续使用.
docker run -d --name registry --restart always \ -p 5000:5000 \ -v /data/registry:/var/lib/registry \ -e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io \ registry:2
为指定上游远程镜像仓库为官方镜像仓库.
通过 ngixn 反向代理配置域名
推荐为加速镜像仓库服务使用反向代理来配置域名和证书使用.
客户端配置 daemon.json
客户端配置daemon.json
的registry-mirrors
参数来指定加速镜像仓库.
例如 registry 所在服务器公网
IP 为 101.102.103.104 ,且防火墙开放了 5000 端口.注意此处需要明确填写 http 协议.
{ "registry-mirrors": [ "http://101.102.103.104:5000" ] }
例如 已为 registry 配置了域名及证书.注意此处需要明确填写 http/https 协议.
{ "registry-mirrors": [ "https://registry.yourdomain.com" ] }
配置完成需重载 daemon 并重启 docker
sudo systemctl daemon-reload sudo systemctl restart docker
结语
关于 registry 镜像,博主也才使用一段时间,更多的用法,安全配置,参数,功能可以参考官方文档.
本站提供免费和付费的技术支持.你可以通过留言,邮件,QQ的方式来进行技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面