配置拉取镜像加速地址
dockerd服务
docker命令
-
确认配置文件路径
ps -ef | grep [d]ockerd | grep -o '[a-Z/]*daemon.json'
-
配置镜像加速地址
"registry-mirrors": [ "https://dockerproxy.com", "https://docker.m.daocloud.io", "https://hub-mirror.c.163.com" ],
-
重启服务
sudo systemctl restart docker
containerd服务
确认containerd服务是否有配置registry配置路径
sudo grep config_path `ps -ef | grep "[c]ontainerd " | awk '{print $NF}'`
如果上没有配置的话。建议配置上。
- 使得containerd服务配置文件没有这么臃肿。
- 后续仓库配置都 不需要 重启
containerd
服务
设置方法
sudo sed -ri 's@(config_path).*@\1 = "/etc/containerd/certs.d"@g' /etc/containerd/config.toml
。需要重启containerd
服务
crictl命令配置
目录结构详情: registry配置路径 - 镜像仓库地址(如果有端口得带上端口信息) - hosts.toml
docker.io示例
sudo mkdir -p /etc/containerd/certs.d/docker.io
cat <<'EOF' | sudo tee /etc/containerd/certs.d/docker.io/hosts.toml > /dev/null
server = "https://docker.io"
[host."https://dockerproxy.com"]
capabilities = ["pull", "resolve"]
[host."https://docker.m.daocloud.io"]
capabilities = ["pull", "resolve"]
[host."https://hub-mirror.c.163.com"]
capabilities = ["pull", "resolve"]
EOF
registry.k8s.io示例
sudo mkdir -p /etc/containerd/certs.d/registry.k8s.io
cat <<'EOF' | sudo tee /etc/containerd/certs.d/registry.k8s.io/hosts.toml > /dev/null
server = "https://registry.k8s.io"
[host."https://k8s.m.daocloud.io"]
capabilities = ["pull", "resolve"]
EOF
k8s.gcr.io示例
sudo mkdir -p /etc/containerd/certs.d/k8s.gcr.io
cat <<'EOF' | sudo tee /etc/containerd/certs.d/k8s.gcr.io/hosts.toml > /dev/null
server = "https://k8s.gcr.io"
[host."k8s-gcr.m.daocloud.io"]
capabilities = ["pull", "resolve"]
EOF
daocloud文档:https://docs.daocloud.io/community/mirror/
daocloud github地址: https://github.com/DaoCloud/public-image-mirror
ctr命令配置
配置文件、目录结构与 crictl
一致,ctr
命令仍是 未生效 加速地址拉起镜像。
解决方法 :ctr
命令拉起镜像添加 --hosts-dir
可以实现到拉取镜像加速。
示例:ctr --debug image pull docker.io/library/alpine:3.18 --hosts-dir /etc/containerd/certs.d
【推荐】:使用
crictl
命令拉取镜像。
nerdctl命令配置
配置文件、目录结构与 crictl
一致。
注意:配置路径 只能 是
/etc/containerd/certs.d
目录下
验证方法
判断是否使用代理?
-
docker服务:
docker info | grep Proxy
-
containerd服务:
systemctl cat containerd | grep Environment
查看是否有环境变量
使用代理
tcpdump -enn -vvv -i [网卡名] 'host [proxy地址] or host [镜像加速地址]'
示例:tcpdump -enn -vvv -i eth0 ' host x.x.x.x or host dockerproxy.com'
参数值说明:
- 网卡名:通 proxy地址 的网卡名
- proxy地址:上面查到的地址(网络代理)
- 镜像加速地址:运行时配置的镜像加速地址
未使用代理
tcpdump -enn -vvv -i [出公网网卡名] host [镜像加速地址]
示例:tcpdump -enn -vvv -i eth1 host dockerproxy.com
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2022-02-20 ceph 删除 osd
2022-02-20 python2.7管理kvm虚拟主机