containerd支持哪些镜像仓库?主流的containerd镜像仓库是什么?
containerd 支持多种镜像仓库协议和类型,以下是其支持的主要仓库及主流方案:
🔧 一、支持的镜像仓库类型
-
公共镜像仓库
- Docker Hub:默认的公共仓库,支持拉取官方镜像(如
docker.io/library/nginx
)。 - 第三方托管仓库:如 Google Container Registry (GCR)、Amazon ECR Public、Quay.io 等。
- Docker Hub:默认的公共仓库,支持拉取官方镜像(如
-
私有镜像仓库
- 自建私有仓库:支持任意符合 OCI/Docker 规范的私有仓库,例如:
- Harbor:企业级私有仓库(支持 Helm Chart 管理、漏洞扫描等功能)。
- Docker Registry:轻量级私有仓库 。
- 云厂商私有仓库:如 AWS ECR、阿里云 ACR、Azure Container Registry 等。
- 自建私有仓库:支持任意符合 OCI/Docker 规范的私有仓库,例如:
-
本地镜像仓库
- 支持通过
ctr image import
导入本地 OCI 格式镜像文件,无需远程仓库。
- 支持通过
二、主流镜像仓库方案
类型 | 代表仓库 | 适用场景 | 特性 |
---|---|---|---|
公共仓库 | Docker Hub | 开发者快速获取官方镜像 | 海量镜像,无需认证 |
企业私有仓库 | Harbor | 生产环境、安全合规要求高的场景 | 支持镜像签名、漏洞扫描、多租户管理 |
云托管仓库 | AWS ECR / 阿里云 ACR | 云原生应用部署 | 深度集成云服务,自动 IAM 认证 |
⚙️ 三、关键配置能力
-
镜像加速与代理
- 支持配置 Mirror 仓库(如国内阿里云镜像加速器),自动替换
docker.io
拉取路径。 - 示例配置(
/etc/containerd/certs.d/docker.io/hosts.toml
):[host."https://xxxx.mirror.aliyuncs.com"] capabilities = ["pull"] # 仅拉取加速
- 支持配置 Mirror 仓库(如国内阿里云镜像加速器),自动替换
-
私有仓库认证
- 支持 TLS 证书 和 HTTP Basic Auth 认证。
- Harbor 认证示例(
hosts.toml
):[host."https://harbor.example.com"] ca = "/etc/containerd/certs.d/harbor/ca.crt" [host."https://harbor.example.com".header] Authorization = ["Basic BASE64_ENCODED_CREDENTIALS"]
-
非安全仓库支持
- 允许配置 HTTP 协议仓库(需显式声明
http://
协议):[host."http://private-registry.local:5000"] skip_verify = true # 跳过 TLS 验证
- 允许配置 HTTP 协议仓库(需显式声明
💎 总结
- 兼容性:containerd 支持所有符合 OCI 分发规范 的仓库(如 Docker Hub、Harbor、云厂商仓库)。
- 主流选择:
- 公共仓库:Docker Hub(默认)。
- 私有仓库:Harbor(企业级首选)或云托管仓库(如 AWS ECR)。
- 配置灵活性:通过主机目录模式(
/etc/containerd/certs.d/
)实现多仓库动态管理,无需修改主配置。
时间是个伟大的作者,必将给出完美的答案。