docker - 如何访问私有 docker hub 镜像?
问题描述
我正在尝试将私有 docker 映像拉入数字海洋 Kubernetes 集群。我收到此错误:
无法拉取图像“testuser/services:latest”:rpc 错误:代码 = 未知 desc = 无法拉取和解压图像“docker.io/testuser/services:latest”:无法解析参考“docker.io/testuser/services :latest": 拉取访问被拒绝,存储库不存在或可能需要授权:服务器消息:不足范围:授权失败
我按照指南配置私有注册表:https ://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ,执行命令:
kubectl create secret generic regcred --from
-file=.dockerconfigjson=<path/to/.docker/config.json>
--type=kubernetes.io/dockerconfigjson
我正在按照本指南在 Kubernetes 上使用 Docker 容器创建 Kubernetes 集群:https ://www.digitalocean.com/community/tutorials/how-to-automate-deployments-to-digitalocean-kubernetes-with-circleci
当我执行时kubectl apply -f ~/kube-general/
,pod 已成功创建但无法拉取图像并显示上述错误。
要启用对我添加imagePullSecrets
到 app-service.yml 的私有 docker hub 映像的访问:
apiVersion: apps/v1
kind: Deployment
metadata:
name: testuser
namespace: default
labels:
app: testuser
spec:
replicas: 1
selector:
matchLabels:
app: testuser
template:
metadata:
labels:
app: testuser
spec:
containers:
- name: testuser
image: testuser/services:latest
ports:
- containerPort: 5000
name: http
imagePullSecrets:
- name: regcred
应用部署.yaml:
apiVersion: v1
kind: Service
metadata:
name: services
namespace: default
labels:
app: services
spec:
type: ClusterIP
ports:
- port: 5000
targetPort: http
name: http
selector:
app: services
更新:
从我的本地机器中提取图像按预期工作:
docker pull testuser/services:latest
latest: Pulling from testuser/services
Digest: sha256:35db6c6e9344043a67abe2e0a2f2583c036479728c944dc4136494f0d09a44fe
Status: Image is up to date for testuser/services:latest
docker.io/testuser/services:latest
我遵循的过程与:https ://www.digitalocean.com/community/questions/private-docker-registry
解决方案
你可以试试下面:
kubectl create secret docker-registry dockerreg --docker-server=docker.io --docker-username=alloweduserid --docker-password=password --docker-email=user@abc.com
推荐阅读
- python - 有没有办法强制 ruamel 在换行符之前的 OrderedDict 中插入一个新的(键:值)对?
- php - laravel 上的多重身份验证
- angular - Angular:有没有一种方法可以从 ts 文件访问表单中的所有表单控件,而无需显式地传递表单 html?
- c# - 如何在 EF Core 3.14 中运行存储过程
- javascript - 表单弹出功能未定义
- python - 更改列表中列表中的元素会更改整个列-python
- javascript - ComponentDidUpdate() 不断被调用会减慢进程(Axios)
- r - 使用正则表达式,在 r 中找到匹配项后如何添加元素?
- sequelize.js - 无法读取 model.update 方法中未定义的属性“选项”
- python - dvwa 暴力破解的 Python 循环