k8s系列--通过docker拉取的镜像导入到 containerd中

要将通过 docker pull 拉取的镜像导入到 containerd 中,可以按照以下步骤操作:

步骤 1:使用 docker 将镜像保存为 tar 文件

bash 复制代码
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.1
docker save registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.1 -o coredns-v1.11.1.tar

这将会把镜像保存为名为 coredns-v1.11.1.tar 的文件。


步骤 2:将 tar 文件导入到 containerd

使用 ctr 命令导入镜像:

bash 复制代码
ctr -n=k8s.io images import coredns-v1.11.1.tar

这里的 -n=k8s.io 是 Kubernetes 使用的默认 namespace。如果你的 containerd 使用其他 namespace,可以根据需要调整。


步骤 3:验证镜像是否成功导入

使用以下命令检查镜像是否成功导入到 containerd

bash 复制代码
ctr -n=k8s.io images list | grep coredns

你应该能够看到类似以下的输出:

复制代码
registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.1

注意事项

  1. 确保 containerd 正在运行 :确保 containerd 服务已经启动,可以通过以下命令检查:

    bash 复制代码
    systemctl status containerd
  2. Kubernetes 环境的特殊要求 :如果你的环境是 Kubernetes,通常需要将镜像名称重新标记为 k8s.gcr.io/coredns:v1.11.1registry.k8s.io/coredns:v1.11.1,以便 Kubernetes 能正确拉取镜像。例如:

    bash 复制代码
    ctr -n=k8s.io images tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:v1.11.1 k8s.gcr.io/coredns:v1.11.1

完成这些步骤后,你的 containerd 就可以正常使用该镜像了。

相关推荐
问简8 小时前
docker 镜像相关
运维·docker·容器
Benszen9 小时前
Docker容器化技术实战指南
运维·docker·容器
Hommy8810 小时前
【开源剪映小助手】Docker 部署
docker·容器·开源·github·aigc
斯普信云原生组12 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
喵了几个咪12 小时前
如何在 Superset Docker 容器中安装 MySQL 驱动
mysql·docker·容器·superset
工具罗某人12 小时前
docker compose部署kafka集群搭建
docker·容器·kafka
❀͜͡傀儡师13 小时前
k8s部署的Nexus 3 数据库损坏恢复指南:从删除损坏数据库到完整数据重建
数据库·kubernetes·nexus3
开心码农1号14 小时前
k8s中service和ingress的区别和使用
云原生·容器·kubernetes
张32314 小时前
K8s 不部署源代码、不构建应用
kubernetes
L16247615 小时前
Kubernetes 完整学习手册(1 主多从 + 纯 YAML 部署 + 访问原理)
学习·容器·kubernetes