gpt4 book ai didi

docker - 无法使用 docker hub 上的私有(private) repo 验证 kubernetes secret ,所以我无法部署

转载 作者:行者123 更新时间:2023-12-02 12:35:57 24 4
gpt4 key购买 nike

我试过https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
并且 yaml 文件中的 base 64 编码解决方案(这最终是我需要做的)没有进行身份验证。 (显然这是一个常见问题,如果有人有一个可以运行的 yaml 文件,我很乐意看到它或允许从私有(private)仓库安全部署的方法,这样我们就不会陷入 x-y 问题)

所以我尝试了以下方法:
kubectl create secret generic registrykey --from-file=.dockerconfigjson=/home/dbosh/.docker/config.json --type=kubernetes.io/dockerconfigjson
使用部署文件:

apiVersion: apps/v1
kind: Deployment
metadata:
name: my_deployment
spec:
selector:
matchLabels:
app: my_deployment
tier: backend
track: stable
replicas: 7
template:
metadata:
labels:
app: my_deployment
tier: backend
track: stable
spec:
containers:
- name: my_deployment
image: "my_private_repo:image_name"
ports:
- name: http
containerPort: 8082
imagePullSecrets:
- name: registrykey

但是,每当我尝试部署时,我都会不断收到“my_private_repo 的拉取访问被拒绝,存储库不存在或可能需要 'docker login”。

现在要创建 docker 登录文件,我确实已经登录并在重新生成 key 然后重新部署之前立即登录并再次进行了测试,但它仍然没有进行身份验证。

任何帮助表示赞赏。

更新 (感谢有用的评论):

登录后我的 config.json 看起来像这样:
cat .docker/config.json 
{
"auths": {
"https://index.docker.io/v1/": {}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/18.09.2 (linux)"
},
"credsStore": "secretservice"

这似乎不包含 token 。我通过运行 docker login 生成了这个并提供我的凭据。有什么想法吗?

最佳答案

config.json 中没有您的私有(private)仓库的 token 文件,但仅适用于 docker hub。

因此,您需要在您的私有(private)存储库中重新进行身份验证:

docker logout <my_private_repo> && docker login <my_private_repo> -u <user> -p <pass> && cat ~/.docker/config.json

应该是这样的:
"auths": {
"my_private_repo": {
"auth": "c3VraG92ZXJzsdfdsQXNocmV2b2h1czg4"
}

关于docker - 无法使用 docker hub 上的私有(private) repo 验证 kubernetes secret ,所以我无法部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56259904/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com