首页/云/Kubernetes 速查/kubectl set image 更新容器镜像
本包目录(307 条)
kubectl 基础56 条
工作负载36 条网络与服务55 条配置与存储54 条调度与资源52 条集群运维与排障54 条

kubectl set image 更新容器镜像

不用手改 YAML 直接替换 Deployment/StatefulSet 等模板中的容器镜像,更新即触发滚动发布,是发布流水线的常用一步。

Kubernetes 速查云更新于 2026-10-12
用途更换工作负载容器镜像(触发滚动更新)
语法kubectl set image <资源>/<名称> <容器名>=<镜像>

常用示例

常用示例
kubectl set image deploy/web web=registry.example.com/app:1.25.3
kubectl set image sts/db db=postgres:16.2 -n prod
kubectl set image deploy/web web=app:1.25.3 --dry-run=client -o yaml > web.yaml
kubectl rollout status deploy/web --timeout=180s
容器名取自 spec.template.spec.containers[].name,写错会报 'unable to find container';改完用 rollout status 观察结果。

易错点

  • 镜像 tag 建议带明确版本(1.25.3)而不是 latest,便于回滚与定位;配合 imagePullPolicy 生效
  • set image 会重写整个容器镜像字段,若原有 digest 引用会被替换为 tag,注意 registry 一致性

数据来源与参考

  • Kubernetes 官方文档 · kubectl set image
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌