我想要做什么
当通过 http 使用暴露的守护进程时,我需要能够提取存储在 Docker 集线器中的私有图像
http://127.0.0.1:2375/v1.35/images/create?fromImage=akkovachev/test-repository
“akkovachev/test-repository”是 docker hub 中的一个私有仓库,当我运行上面的 POST 请求时,我得到
{
"message": "pull access denied for akkovachev/test-repository, repository does not exist or may require 'docker login': denied: requested access to the resource is denied"
}
所以可能我错过了一些东西,但我不明白是什么。我试图做的是在文件中使用 base64 编码的 uname:password 更改身份验证
./docker/config.json
我还尝试了这里描述的格式的 base64 编码标头https://docs.docker.com/engine/api/v1.35/#section/Authentication但同样的问题。我在这里发帖是我最后的手段,因为我无法找到一个很好的解释来解释为什么会发生这种情况。许多人说他们面临同样的问题,但主要是在 CLI 中。我正在为 Windows 使用 Docker 版本 v20.10.5。
请务必注意,仅当我尝试通过 HTTP 暴露的恶魔执行此操作时才会出现此问题。当我在 CLI 中执行时它工作正常
docker pull akkovachev/test-repository
Evertyghing 按预期工作,图像被正确拉取
我需要能够通过 API,因为我围绕它构建了自己的 Rest api,并且我需要能够通过暴露的 docker 守护进程。