Pod详细信息图像

无法拉取图像该图像已通过docker for windows推送到azure注册表中。提供的镜像名称:在标记过程中通过docker提供
发布于 2018-08-03 02:28:48
您目前提供的细节很少。
您的kubernetes集群是否正确配置为从azure注册表中拉取镜像?据我所知它不是。这是一个托管的AKS k8s集群吗?如果没有,默认情况下将无法访问您的私有azure注册表,并且需要使用访问您的私有azure注册表所需的凭据进行配置。
http://docs.heptio.com/content/private-registries/pr-docker-hub.html
另一种可能性是,您正在将基于Windows的容器推送到基于linux的工作节点上,而这些节点只能运行基于linux的容器。
发布于 2018-08-03 15:59:19
我只有GKE的使用经验,但如果您想从与GKE集群不在同一项目中的存储库中拉取docker镜像,则必须提供要拉取的镜像的凭据。
我用Kubernetes中的一个包含.dockerconfig.json的秘密来做这件事:
apiVersion: v1
data:
.dockerconfigjson: <REDACTED>为了创建这种类型的秘密,我使用了这样的模板:
kubectl create secret docker-registry <SECRET_NAME> \
--docker-server=https://gcr.io \
--docker-username=_json_key \
--docker-email=<SVC_ACCOUNT_EMAIL> \
--docker-password=<CONTENTS_OF_SVC_ACCOUNT_CREDS_FILE>创建完成后,您需要将secret挂载到相关的pod/部署。在pod规范中,您将需要:
imagePullSecrets:
- name: <SECRET_NAME>(这是一个列表,因为你可以挂载许多秘密来从其他地方获取)
我想象azure有一个类似的设置,与集群相同的项目中的任何图像都将能够被拉出。但托管在另一个azure项目或外部图像库中的任何图像都需要凭据。我还使用所描述的设置将google容器注册表映像拉到本地minikube。
因此,我认为我们需要找出您的docker镜像托管在哪里,以及是否需要凭据才能拉取该镜像。
https://stackoverflow.com/questions/51658693
复制相似问题