【发布时间】:2020-12-09 21:20:08
【问题描述】:
由于某种原因,Kubernetes 无法从我在 Docker Hub 上的私人帐户中提取图像。我尝试了所有可能的方法来创建一个秘密(从 config.json,通过直接在命令行上提供凭据),但仍然没有成功。
上次我做了docker login 并执行了以下命令来创建秘密:
kubectl create secret docker-registry dockerhub-credentials --from-file=.dockerconfigjson=/home/myuser/.docker/config.json
还尝试了以下命令(相同但我认为kubectl 中可能存在无法正确识别参数的错误:
kubectl create secret generic dockerhub-credentials --from-file=.dockerconfigjson=/home/myuser/.docker/config.json --type=kubernetes.io/dockerconfigjson
部署后,我可以在 pod 的 YAML 文件中看到以下内容:
spec:
volumes:
...
containers:
- name: container-name
image: 'username/projects:web_api_123'
ports:
- containerPort: 80
protocol: TCP
...
imagePullPolicy: IfNotPresent
...
imagePullSecrets:
- name: dockerhub-credentials
映像名称正确(我已验证)并且带有 Docker Hub 凭据的密钥已正确分配给我的 POD。 我什至修补了默认服务帐户!但是还是不行。
【问题讨论】:
-
你在使用 Azure 吗?
-
不,这是私有 Kubernetes 集群。我可以使用 telnet 连接到端口 443 上的 index.docker.io。
标签: docker kubernetes kubernetes-pod