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

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

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

前言

在折腾 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

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

相关文章

Docker部署ShareList分享OneDrive,Google Drive和WebDAV教程

Docker部署ShareList分享OneDrive,Google Drive和WebDAV教程

前言ShareList 是一个易用的网盘工具,支持快速挂载 GoogleDrive、OneDrive ,可通过插件扩展功能。ShareList项目地址目前网上有很多支持OneDrive的网盘工具,本站也曾介绍过,而ShareList最大的不...

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

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

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

CentOS 7 安装 docker compose 教程

CentOS 7 安装 docker compose 教程

前言正在折腾测试些docker容器,用到docker compose功能,记录一下安装流程.CentOS 7 上Docker的安装方法参考:CentOS 7 安装Docker教程三种安装方法官方安装 - 速度慢,有可能被DNS污染导致失败....

教你如何识别传统163骨干网 CN2 GT和CN2 GIA线路

教你如何识别传统163骨干网 CN2 GT和CN2 GIA线路

前言上文介绍过使用BestTrace来查询国外VPS的线路路由,本文将简单介绍通过路由信息,如何识别和区分传统163骨干网,CN2 GT和CN2 GIA线路.本次测试环境为武汉电信,而其他城市的电信,联通或者移动会以当地的测试为准,因为测试...

新手入门 Github Webhooks 完美自动化部署教程

新手入门 Github Webhooks 完美自动化部署教程

前言之前使用GitHub Actions可以在提交代码后自动上传到腾讯云COS存储桶,实现静态网站完美自动化部署.那么非静态的网站或者项目需要自动化部署到VPS服务器上就可以使用GitHub Webhooks来实现.作为纯属新手来说,网上查...

docker compose 部署配置 Awesome TTRSS 教程

docker compose 部署配置 Awesome TTRSS 教程

前言博主是一个 RSS 重度使用者,早已不记得是何时开始,也许大概是 Google Reader 那个时代,至今已经十几年,保持着每天睡前阅读的习惯.自 Google Reader 关闭服务...

发表评论

访客

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