如何配置ContainerD连接不安全的Docker Registry(Registry:2)
配置ContainerD连接本地不安全Docker Registry的步骤
1. 生成/编辑ContainerD配置文件
如果系统中还没有/etc/containerd/config.toml,先生成默认配置:
containerd config default > /etc/containerd/config.toml
2. 修改Registry配置
打开配置文件,找到[plugins."io.containerd.grpc.v1.cri".registry]段,替换为以下内容(请替换<YOUR_HOST_IP>为你的主机IP,端口填写你设置的5001):
[plugins."io.containerd.grpc.v1.cri".registry] config_path = "" [plugins."io.containerd.grpc.v1.cri".registry.mirrors] [plugins."io.containerd.grpc.v1.cri".registry.mirrors."<YOUR_HOST_IP>:5001"] endpoint = ["http://<YOUR_HOST_IP>:5001"] [plugins."io.containerd.grpc.v1.cri".registry.configs] [plugins."io.containerd.grpc.v1.cri".registry.configs."<YOUR_HOST_IP>:5001".tls] insecure_skip_verify = true
注意:旧配置格式已被废弃,上述是当前有效的配置方式。重点要确保镜像仓库地址和端口与你启动的Registry完全一致——你通过
docker run将Registry容器的5000端口映射到了主机的5001端口,所以配置中必须填写主机IP加5001端口,而非容器内部的5000端口。
3. 重启ContainerD服务
保存配置后,重启服务使配置生效:
sudo systemctl restart containerd
4. 验证配置
可以通过在Kubernetes中创建测试Pod来验证拉取镜像是否正常,示例YAML如下:
apiVersion: v1 kind: Pod metadata: name: test-registry-pull spec: containers: - name: test-container image: <YOUR_HOST_IP>:5001/your-test-image:tag
创建Pod后,查看状态确认是否成功:
kubectl describe pod test-registry-pull
内容的提问来源于stack exchange,提问作者Chris G.
相关产品推荐
相关产品推荐

