![](/img/trans.png)
[英]Failed to pull image pull access denied , repository does not exist or may require 'docker login':
[英]"Failed to pull image: pull access denied" on a private docker repository
我正在尝试通过 Kubernetes 运行我的节点应用程序(它成功地在我的带有 Docker 桌面的 PC 上运行)。 这是一个树莓派多节点 ubuntu kubeadm 服务器(一切都是最新的稳定版本)。 我确实在此服务器上运行了成功的 pod。 我按照Kubernetes 官方指南登录到我在 Docker 集线器上的私人 docker 存储库。 我已经仔细检查了我的凭据,我可以在没有sudo
权限的情况下使用 docker。
下面列出了我的确切设置,如果您希望我添加更多信息,请发表评论!
我的错误代码:
无法拉取映像“matthewvine/node-tools:rewrite”:rpc 错误:代码 = 未知 desc = 来自守护进程的错误响应:matthewvine/node-tools 的拉取访问被拒绝,存储库不存在或可能需要“docker login”:被拒绝: 请求的资源访问被拒绝
我的regcred
秘密:
data:
.dockerconfigjson: ey...==
kind: Secret
metadata:
creationTimestamp: "2022-01-10T23:34:40Z"
name: regcred
namespace: default
resourceVersion: "1807979"
uid: 69...
type: kubernetes.io/dockerconfigjson
我的node-ht
部署:
apiVersion: apps/v1
metadata:
name: node-ht
namespace: node
...
spec:
replicas: 1
selector:
matchLabels:
app: node-ht
template:
metadata:
...
spec:
containers:
- name: node-ht
image: matthewvine/node-tools:rewrite
ports:
- containerPort: 3000
protocol: TCP
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
imagePullSecrets:
- name: regcred
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
我的解决方案:原来这是一个简单的命名空间问题。 秘密需要与试图使用它们的资源位于相同的命名空间中。
密钥必须与分发命名空间相同。 如果您想将您的 docker 密码连接到 kubernetes,您可以使用以下方法。
根据现有 Docker 凭证创建 Secret ( 链接)
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=<path/to/.docker/config.json> \
--type=kubernetes.io/dockerconfigjson
我想你已经这样做了。 命名空间更改应该可以解决您的问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.