千家信息网

怎么用Docker开源仓库建立代理缓存仓库

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"怎么用Docker开源仓库建立代理缓存仓库",在日常操作中,相信很多人在怎么用Docker开源仓库建立代理缓存仓库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2026年11月03日怎么用Docker开源仓库建立代理缓存仓库

这篇文章主要介绍"怎么用Docker开源仓库建立代理缓存仓库",在日常操作中,相信很多人在怎么用Docker开源仓库建立代理缓存仓库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么用Docker开源仓库建立代理缓存仓库"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

你可以这样开始:

要求:
  • Docker引擎1.8.3

  • Docker仓库v2

  • 足够储存Docker镜像的磁盘空间

  • TLS证书和密钥

持久化数据

在这个例子中,我们会假设你会储存所有持久化数据在本地文件系统的/data路径下,这个路径下包含TLS证书和密钥文件,配置文件和镜像缓存文件。我们之后会用卷挂载这个目录进运行仓库的容器。

保护你的代理缓存仓库安全

代理缓存仓库需要一个TLS证书来保证Docker引擎和缓存仓库之间的连接安全,在这个例子中,我们会放置我们证书文件(domain.crt)和密钥文件(domain.key)在主机的/data目录。

更多关于使用TLS加强仓库安全的信息,请参照Docker仓库2.0文档。

创建代理缓存仓库配置文件

下一步你需要创建一个配置文件,来把这个仓库用作代理缓存。你可以用cat命令把registry:2镜像中的缺省配置文件重定向输出到一个文件中:

$ docker run -it --rm --entrypoint cat registry:2 \/etc/docker/registry/config.yml > /data/config.yml

我强烈建议从Docker镜像中获得这个默认配置,而不是使用例子中的配置,因为将来这个默认配置可能会有更新。

默认的config.yml例子:
version: 0.1log:   fields      service: registrystorage:      cache:         layerinfo: inmemory      filesystem:         rootdirectory: /var/lib/registryhttp:   addr: :5000
修改'http'这节配置上TLS:
http:      addr: :5000      tls:            certificate: /var/lib/registry/domain.crt            key: /var/lib/registry/domain.key
在配置文件中新加一节'proxy'来开启缓存:

点击打开文档 (https://github.com/docker/distribution/blob/master/docs/mirror.md)

proxy:      remoteurl: https://registry-1.docker.io      username: [username]      password: [password]

'username'和'password'这两个选项是可选的,这是Docker Hub账号的用户名和密码,设置上这两个选项,会使代理缓存仓库获取到这个账号的同等权限,也就是说,这个用户有权限获取的镜像,这个缓存仓库同样有权限获取。

请确保完全理解设置这个Docker Hub账号背后意味着什么,并且确保你镜像的安全还有严格的访问权限!如果你不确定,请不要再配置包含用户名和密码,那么你的代理缓存仓库就只会缓存公共镜像。

启动代理缓存仓库的容器:
$ docker run -d --restart=always -p 5000:5000 --name v2-mirror \-v /data:/var/lib/registry registry:2 /var/lib/registry/config.yml

以上命令使用一个卷把宿主机上的/data挂载进了容器中,使容器能使用持久储存镜像缓存,TLS证书和密钥,还有自定义的仓库配置文件。

验证你的代理缓存仓库已经启动并正常运行:
$ curl -I https://mycache.example.com:5000/v2/HTTP/1.1 200 OKContent-Length: 2 Content-Type: application/json; charset=utf-8 Docker-Distribution-Api-Version: registry/2.0 Date: Thu, 17 Sep 2015 21:42:02 GMT
配置你的Docker引擎使用代理缓存仓库

修改Docker守护进程的启动参数,加上-registry-mirror选项:

--registry-mirror=https://:

例如,如果你的缓存仓库的主机名为mycache.example.com并且仓库服务端口为5000,你需要加上以下选项到守护进程的参数:

--registry-mirror=https://mycache.example.com:5000

参考在各种的Linux分发版中配置运行Docker了解更多信息关于如何添加Docker守护进程参数。

测试你的代理缓存仓库

从Docker Hub上拉取一个你本地没有的镜像。例如,busybox:latest镜像:

$ docker pull busybox:latest

检查缓存仓库中的目录,验证busybox镜像是否被缓存:

$ curl https://mycache.example.com:5000/v2/_catalog{"repositories":["library/busybox"]}

你也可以验证latest标签是否被缓存:

$ curl https://mycache.example.com:5000/v2/library/busybox/tags/list{"name":"library/busybox","tags":["latest"]}

现在开始当你拉取镜像时,镜像将被缓存到你的代理缓存仓库,之后拉取相同的镜像时会更快,并且这些镜像缓存会维护自身,当他们不再被使用时将会自动清除。

从这里下载Docker引擎,并尝试创建用开源的Docker仓库创建代理缓存仓库吧!

到此,关于"怎么用Docker开源仓库建立代理缓存仓库"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

仓库 缓存 代理 镜像 配置 文件 证书 安全 例子 容器 密钥 引擎 更多 权限 学习 参数 用户 目录 账号 进程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手磨咖啡 广东猪兼强互联网科技有限公司 互联网金融与金融科技 互联网科技的发展 互联网科技小贷 广州互联网络科技有限公司 互联网科技汛 佰商互联网科技有限公司 中国最先进互联网科技公司 济南华为互联网科技产业总部基地 中国科技互联网公司收入 恒银科技与互联网金融 昊天互联网科技有限公司 洛阳共同富裕互联网科技有限公司 科技赋能视角下互联网保险发展 广东工业互联网大赛深圳学泰科技 黑云互联网科技有限公司 从那以后互联网科技有限公司 广东鹅鹅鹅互联网科技有限公司 恒生科技指数 中概互联网 互联网科技名片 南京欣网互联网络科技有限公司 世界互联网领先科技成果 美国互联网前沿科技 互联网软件和科技 天津腾达互联网科技有限公司 世界互联网科技成果奖 云南互联网科技学费 广州三三互联网科技有限公司 数字互联网科技有限公司
0