我正在尝试从私有注册表中提取一个映像,并将auth存储在一个kubernetes集群节点中的/root/..docker/config.json中。我还验证了auth的工作方式和预期的一样,同时提取了码头图像。
curl -v \
-X GET \
-H "Authorization: Bearer $(cat /tmp/auth_bearer.txt)" repo-url/manifests/latest \
-H "Accept: application/vnd.docker.distribution.manifest.v2+json"响应:
< HTTP/1.1 200 OK < Date: Wed, 11 Mar 2020 23:27:09 GMT <
Content-Type: application/vnd.docker.distribution.manifest.v2+json <
Content-Length: 3455 < Connection: keep-alive < Vary: Origin <
opc-request-id: 772f679098749bb474d59161 < Docker-Content-Digest:
sha256:17dcbbf7c670d8894ddfefc2907c9f045bfc45e60954525635632abbf02910
< { "schemaVersion": 2, "mediaType":
"application/vnd.docker.distribution.manifest.v2+json", "config": {
"mediaType": "application/vnd.docker.container.image.v1+json",
"size": 9504,
"digest": "sha256:d59db4a22d6ba8f1d3b5d7c8f8f410688dee569a947bf242e6c3e3b708f634829"
}, "layers": [
{ [...]从上面的反应,很明显,我有图像在私人回购的位置和auth是正确的。但是,当我尝试执行docker pull <repo-url>/image-name:image-tag时,我会得到以下错误:
Trying to pull repository <repo-url>/image-name:image-tag ...
pull access denied for <repo-url>/image-name:image-tag, repository does not exist or may require 'docker login'有人能告诉我我在这里错过了什么吗?为什么忽略停靠者凭据的节点存储在/root/. docker /config.json?
发布于 2020-03-12 21:04:19
使用基于文件的配置
您可以在下面列出的文件中设置码头机密:
{--root-dir:-/var/lib/kubelet}/config.json{cwd of kubelet}/config.json${HOME}/.docker/config.json/.docker/config.json{--root-dir:-/var/lib/kubelet}/.dockercfg{cwd of kubelet}/.dockercfg${HOME}/.dockercfg/.dockercfg注意:您可能必须在您的环境文件中显式地为kubelet.
设置HOME=/root
https://stackoverflow.com/questions/60661249
复制相似问题