当前位置:首页 > 群晖专栏 > 运维部署 > 正文内容

部署 docker 官方 registry 私有镜像仓库和镜像加速仓库

admin4年前 (2021-02-01)运维部署76

前言

在折腾 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.jsoninsecure-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
-e REGISTRY_PROXY_REMOTEURL=https://registry-1.docker.io
为指定上游远程镜像仓库为官方镜像仓库.

通过 ngixn 反向代理配置域名

推荐为加速镜像仓库服务使用反向代理来配置域名和证书使用.

客户端配置 daemon.json

客户端配置daemon.jsonregistry-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的方式来进行技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面



扫描二维码推送至手机访问。

版权声明:本文由梦魁网络资源站发布,如需转载请注明出处。

本文链接:https://family.monkui.com:39/?id=196

标签: 运维部署
分享给朋友:

相关文章

Nginx设置Typecho伪静态去掉index.php教程

Nginx设置Typecho伪静态去掉index.php教程

前言Typecho博客初始安装完成后,博客的任何内页面,地址栏都会有index.php(例如https://www.ioiox.com/index.php/archives/about.html)非常影响美观和网站结构,本文将详解在Ngin...

OLAINDEX另一个OneDrive目录索引应用部署教程

OLAINDEX另一个OneDrive目录索引应用部署教程

前言由于OneIndex非常受欢迎,一些优秀的开发者受OneIndex启发,开发出各种OneDrive目录索引应用,例如OLAINDEX,PyOne,CuteOne等等.其功能和主题非常丰富,本文将介绍使用OLAINDEX来部署OneDri...

Oracle Cloud VPS CentOS 7 升级内核并开启官方原版BBR加速

Oracle Cloud VPS CentOS 7 升级内核并开启官方原版BBR加速

前言Oracle VPS 注册了一个多月也没有时间折腾,正好昨天能够有库存创建VPS了,于是升级了内核,开启了原版BBR,记录一下流程,新手顺着命令一步步来执行即可.重要提示由于甲骨文 CentOS 7 系统更新频繁,请参考以下日期来使用2...

腾讯云SCF云函数无服务器部署OneDrive分享网盘

腾讯云SCF云函数无服务器部署OneDrive分享网盘

前言OneDrive的网盘程序介绍过很多款,但是都是需要VPS服务器来部署,本文将介绍无需服务器,使用腾讯云SCF云函数服务,即可在云端部署你的OneDrive分享云盘.部署准备获取API密钥登陆腾讯云控制台 - 访问管理API密钥管理 -...

Linux 服务器 docker 部署 AWTRIX 2.0 Server

Linux 服务器 docker 部署 AWTRIX 2.0 Server

前言之前帮一位朋友部署油管粉丝数显示牌的服务端.由于特殊需求,需要把AWTRIX的服务器端部署到 VPS 服务器上.本文将介绍如何在 VPS 服务器上使用 docker 部署 AWTRIX 2.0 Server 服务器端.同时推荐好友的 Y...

将 docker run 命令改为 docker-compose.yml 方便部署和维护

将 docker run 命令改为 docker-compose.yml 方便部署和维护

前言使用docker run命令可以很方便的启动一个项目容器,加上一些参数能够实现所有需要的功能.但是当管理多个或者几十个容器时,可能会忘记部分参数,导致一些问题.我们可以使用docker-compose来启动容器.通过docker-com...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。