解决本地 docker/minikube 没有权限拉取 AWS 的镜像
在本地的Docker上Pull AWS EC2 Container Services的镜像时,遇到如下错误:
Failed to pull image "url": image pull failed for url, this may be because there are no credentials on this request. details: (unauthorized: authentication required)
解决方案是用AWS CLI工具登录Docker
1 | eval `aws ecr get-login` |
然后运行docker pull
即可。
如果是在 minikube 上运行而不是本地的 Docker,那要先吧 Docker CLI 连到 minikube 上。
1 | eval `minikube docker-env` |
然后执行刚刚的命令就可以了。
注意:如果你的 deployment.yaml 里配置了
imagePullPolicy: Always
或者 image 的版本是
latest
都会强制 K8s
在启动容器之前拉取镜像,即使镜像已经存在。