k8s镜像推送到阿里云,使用ctr推送镜像到阿里云

ctr推送或拉取镜像有几个好处:不需要用仓库名重新命名镜像、不需要使用docker登录(直接指定凭证),免去安装docker。

(crictl不支持镜像推送,但使用起来非常接近docker,拉取镜像或其他操作适合使用)

-n :指定命名空间,不指定默认ctr查看不到k8s镜像,ctr原生和k8s是隔离开来的,要不就使用circtl查看,但是circtl不能推送镜像

java 复制代码
# 查看本地是否存在要推送的镜像
ctr -n k8s.io images ls | grep nginx
java 复制代码
#k8s容器推送镜像到阿里云/或者自己的私有库
ctr -n k8s.io images push   --platform linux/amd64   crpi-xxxx-xxx.aliyuncs.com/namespace/nginx:latest   docker.io/library/nginx:latest   --user xxx:password

详细的参数含义:crictl不能推镜像,目前只能使用docker和ctr推送镜像

python 复制代码
ctr   #containerd 原生工具,containerd是k8s从docker分离出来的容器核心技术,更快

-n k8s.io   #指定镜像k8s隔离的命名空间

--platform  #指定架构版本,不设置架构版本,私有仓库是不支持直接推送索引的

xxxx.com.rep/namespace/nginx:latest    #目标地址aliyun仓库地址/命名空间(推送aliyun镜像必须)/镜像名称 (可以自己命名)

docker.io/library/nginx:latest     #源镜像名称

--user   username:password   #阿里云凭证

附带:ctr 🆚 crictl 核心区别概览

维度 ctr crictl
全称 containerd CLI CRI CLI
设计目标 containerd 的通用命令行工具 Kubernetes CRI 接口的调试工具
遵循标准 containerd 原生 API Kubernetes CRI (Container Runtime Interface)
主要用途 管理 containerd 本身(镜像、容器、快照等) 调试 Kubernetes 节点上的 Pod、容器、镜像
命名空间 默认 default,需手动指定 -n k8s.io 自动使用 k8s.io 命名空间
是否支持 Pod ❌ 不直接支持(实验性 ctr pods ✅ 完全支持
适用环境 任何使用 containerd 的环境 主要用于 Kubernetes 节点
兼容性 仅 containerd 任何 CRI 运行时(containerd, CRI-O)

使用场景建议

场景 推荐工具 原因
调试 Kubernetes Pod 启动失败 crictl 能看 Pod 状态、事件、日志、沙箱容器
查看 kubelet 拉取了哪些镜像 crictl images 直接对应 Kubernetes 视角
手动推送镜像到私有仓库 ctr crictl 不支持 push
导出/导入镜像(类似 save/load) ctr crictl 不支持
直接管理 containerd(无 Kubernetes) ctr 更通用,功能更全
查看容器运行时统计信息 crictl stats 提供 CPU、内存、网络实时数据

总结

ctr crictl
定位 containerd 的"瑞士军刀" Kubernetes 节点的"诊断仪"
类比 就像 docker 之于 Docker 就像 kubectl 之于 API Server
何时用 管理镜像、推送、底层调试 排查 Pod 问题、看日志、查事件
关键参数 -n k8s.io 无需,自动连接 k8s.io
相关推荐
左手厨刀右手茼蒿10 分钟前
Linux 内核中的块设备驱动:从原理到实践
linux·嵌入式·系统内核
杨云龙UP13 分钟前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
HXQ_晴天14 分钟前
Ubuntu 设置中文输入法
linux·运维·ubuntu
Dovis(誓平步青云)15 分钟前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
左手厨刀右手茼蒿16 分钟前
Linux 内核中的模块机制:从加载到卸载
linux·嵌入式·系统内核
0vvv026 分钟前
删除wsl环境下的Ubuntu系统
linux·运维·ubuntu
@土豆30 分钟前
Ubuntu 22.04 运行 Filebeat 7.11.2 崩溃问题分析及解决文档
linux·数据库·ubuntu
C++ 老炮儿的技术栈44 分钟前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt
Agent产品评测局1 小时前
企业数据处理自动化落地,抓取分析全流程实现方案 —— 2026企业级智能体选型与技术路径深度解析
运维·人工智能·ai·自动化
autumn20051 小时前
Flutter 框架跨平台鸿蒙开发 - 历史人物对话
服务器·flutter·华为·harmonyos