You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Docker镜像搭建本地Kubernetes测试环境故障求助

问题原因
  • 镜像名称格式非法:Deployment配置中image字段填写的是Windows本地文件路径C:\Users\test-image,Kubernetes容器运行时不支持将本地文件系统路径作为镜像标识,直接触发InvalidImageName报错。
  • 镜像拉取策略配置错误:当前imagePullPolicy设置为Always,要求Kubernetes每次启动Pod都必须从远程镜像仓库拉取镜像,但你的test-image是本地构建的私有镜像,并未上传到任何镜像仓库,拉取失败后就会进入ImagePullBackOff状态。
解决步骤
  1. 首先确认本地Docker镜像存在且标签正确,构建镜像时直接指定规范标签:
docker build -t test-image:local .

如果已经构建过,直接给原有镜像打标签即可:

docker tag <原有镜像ID> test-image:local
  1. 修改Deployment配置,修正两个配置项:
  • 将image字段值修改为test-image:local
  • 将imagePullPolicy字段值修改为IfNotPresent,优先使用本地已存在的镜像,不强制远程拉取

你可以直接通过kubectl命令修改,不需要手动编辑YAML:

# 修改镜像地址
kubectl set image deployment/test-app e20f23453f27=test-image:local
# 修改镜像拉取策略
kubectl patch deployment test-app -p '{"spec":{"template":{"spec":{"containers":[{"name":"e20f23453f27","imagePullPolicy":"IfNotPresent"}]}}}}'

也可以修改本地保存的YAML文件后执行kubectl apply -f <修改后的YAML文件路径>生效。

  1. 验证Pod状态,执行命令查看Pod是否正常运行:
kubectl get pods

等到对应Pod的STATUS变为Running、READY变为1/1即说明启动成功。

  1. 访问应用验证:你的Service为LoadBalancer类型,对外映射到localhost,Service端口配置为80,直接访问http://localhost即可访问你的应用,也可以通过NodePort端口访问http://localhost:41945。

内容的提问来源于stack exchange,提问作者Mohammad Saad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:54:05