docker镜像源
目录
简介
为什么会有这篇文章, 是因为我总是会遇到 docker, Containerd, k8s, minikube 等等网络问题.
统一在这里进行测试解决, 并且做成可用的方案. 工作和学习中无限使用!
搭建 registry
|
|
#todo/笔记 !!!!!!
- 搭建多个站点的 registry
- Registery 全部走 clash 代理! 因为域名确认, 所以这里的 url 是能够确认的!
- Nginx 域名代理
- Containerd, k 8 s, docker, minikube 统一都走 nginx 不同域名.
可以参考, 做个 k 3 d 的教程?! k8s 代理问题一站式解决 - 知乎
公共镜像源
配置示例
|
|
提供者 | 地址 |
---|---|
网易云 | https://hub-mirror.c.163.com |
Docker 镜像代理 | https://dockerproxy.com |
百度云 | https://mirror.baidubce.com |
上海交大镜像站 | https://docker.mirrors.sjtug.sjtu.edu.cn |
南京大学镜像站 | https://docker.nju.edu.cn |
DaoCloud | https://docker.m.daocloud.io |
网易云
年限比较久了,比较稳DaoCloud
,dockerproxy
,南京大学镜像站
支持源站较多- 其他
不要使用阿里云镜像源, 因为数据不同步!
镜像下载流程
- Docker 发送
image名称:tag
到 registry 请求manifest.list
数据, registry 返回一个不同架构的列表 - 拿到
linux+amd64
的image-digest
, 请求服务器manifest
数据 config.digest
就是你本地docker images
中的docker id
. 如果本地存在就不会再拉取镜像- 镜像不存在则继续查看是否有 layers 已经存在, 存在的就不会去下载
- 通过带上
layersDigest
请求 registry, 下载不存在的 layers
验证镜像一致性
这里拿 nginx:1.24
来举例.
|
|
打开 DockerHub的站点,可以发现 image-digest
匹配.
而 image-digest
是镜像 manifest 的 sha256 的哈希值. 而 manifest 记录着镜像每一层的 layers 哈希值.
也就是说, 网易源和 dockerhub 的每一层 layers 完全一致.
镜像 tag 脚本
|
|