Containerd配置镜像加速
参考文档
修改步骤
1. 修改Config.toml文件
1.x.x 版本配置文件
| [plugins."io.containerd.grpc.v1.cri".registry] |
| config_path = "/etc/containerd/certs.d" |
| |
| [plugins."io.containerd.grpc.v1.cri".registry.auths] |
| |
| [plugins."io.containerd.grpc.v1.cri".registry.configs] |
| |
| [plugins."io.containerd.grpc.v1.cri".registry.headers] |
| |
| [plugins."io.containerd.grpc.v1.cri".registry.mirrors] |
| |
2.x.x 版本配置文件
| [plugins.'io.containerd.cri.v1.images'.registry] |
| config_path = '/etc/containerd/certs.d' |
2. 创建相应目录
| mkdir /etc/containerd/certs.d/docker.io -pv |
3. 配置加速
| cat > /etc/containerd/certs.d/docker.io/hosts.toml << EOF |
| server = "https://docker.io" |
| [host."https://xxxxxxxx.mirror.aliyuncs.com"] |
| capabilities = ["pull", "resolve"] |
| EOF |
4. 重启Containerd
| systemctl daemon-reload |
| systemctl restart containerd |
5. 重新拉取镜像
| |
| crictl pull docker.io/library/mysql:latest |
配置镜像加速脚本
在2.x.x版本后不再适用
| #!/usr/bin/env bash |
| |
| |
| |
| |
| export PS4='\[\e[35m\]+ $(basename $0):${FUNCNAME}:$LINENO: \[\e[0m\]' |
| [ "$debug" == "true" -o "$debug" == "yes" ] && set -x |
| |
| config_file="/etc/containerd/config.toml" |
| config_path='/etc/containerd/certs.d' |
| |
| if [ ! -f "${config_file}" ];then |
| [ ! -d "${config_file%/*}" ] && mkdir -p ${config_file%/*} |
| lineno="$(containerd config default | grep -n -A 1 -P '(?<=\[plugins.")io.containerd.grpc.v1.cri(?=".registry])'|tail -1)" |
| lineno=${lineno/-*} |
| containerd config default | sed -e "${lineno}s@config.*@config_path = \"${config_path}\"@" |sed '/SystemdCgroup/s/false/true/' > $config_file |
| fi |
| |
| [ ! -d "${config_path}" ] && mkdir -p ${config_path} |
| params="${@:-registry.k8s.io:k8s.m.daocloud.io docker.io:docker.m.daocloud.io gcr.io:gcr.m.daocloud.io k8s.gcr.io:k8s.m.daocloud.io quay.io:quay.m.daocloud.io}" |
| |
| function content(){ |
| printf 'server = "https://%s"\n' "${registry}" |
| printf '[host."https://%s"]\n' "${proxy_server}" |
| printf ' capabilities = ["pull", "resolve"]' |
| } |
| |
| for param in ${params} |
| do |
| registry="${param/:*/}" |
| proxy_server="${param/*:/}" |
| hosts_path="$config_path/$registry" |
| [ ! -d "$hosts_path" ] && mkdir -p ${hosts_path} |
| content > $hosts_path/hosts.toml |
| done |
| |
| debug=true bash containerd_mirrors.sh |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!