将Docker Windows映像推入Docker Hub时出错 - 解析HTTP响应时出错:管理规则禁止无效字符/请求

时间:2016-03-02 16:26:40

标签: windows image login docker push

我正在尝试将Windows Core Docker镜像推送到我的Docker Hub帐户。我收到的错误消息(1)是:

$ docker push <MY_DOCKER_HUB_USERNAME>/<MY_IMAGE>
The push refers to a repository [docker.io/MY_DOCKER_HUB_USERNAME/MY_IMAGE] (len: 2)
46e2fd82ef4a: Preparing
Error parsing HTTP response: invalid character '<' looking for
beginning of value: "<html><body><h1>403 Forbidden</h1>\nRequest
forbidden by administrative rules.\n</body></html>\n\n"

在推送之前,我通过登录用法从Mac OS X框中进行了正确的身份验证:

$ docker login --username=<MY_USERNAME> --email=<MY_EMAIL@MY_SERVER.COM>
WARNING: login credentials saved in /Users/<MY_USERNAME>/.docker/config.json
Login Succeeded

一旦我通过身份验证,我认为没有必要获得一个&#34; 403 Forbidden&#34; Docker Hub出错。此外,还不清楚这些&#34;行政规则&#34;是,但也许他们阻止我将我的图像推入Docker Hub注册表。 请注意我的存储库被标记为&#34; public&#34;以及我的默认策略(&#34;默认存储库可见性&#34;来自&#34;设置&#34;在Docker Hub仪表板中)。

我尝试在我的Windows Server Core框中执行相同的操作,并且无法使用相同的凭据进行身份验证

C:\>docker login --username=<MY_USERNAME> --email=<MY_EMAIL@MY_SERVER.COM>
Password:
Error response from daemon: Unexpected status code [403] :
<html><body <h1>403 Forbidden</h1>
Request forbidden by administrative rules.
</body></html>

Windows核心框中的Docker客户端版本:

C:\>docker --version
Docker version 1.10.0-dev, build 59a341e

来自Mac OS X的Docker客户端:

$ docker --version
Docker version 1.9.1, build a34a1d5

Windows Server Core版本:

PS C:\> [System.Environment]::OSVersion.Version

Major  Minor  Build  Revision
-----  -----  -----  --------
10     0      10586  0

PS:无论我是尝试从我的Mac OS X机箱内部(使用我的Windows核心机箱暴露的API)推出还是直接从我的Windows核心机箱内部推送,它们都将始终领先到同样的错误信息(1)。它指出整个过程取决于Windows Server Core框的身份验证,因为它没有正常工作,结果将始终是相同的。

2 个答案:

答案 0 :(得分:1)

以下答案取自ServerFault replica post

  

此时,这是预期的行为。 Docker还处于早期阶段   Windows开发的各个阶段。本文档具体说明   尚不支持与DockerHub相关的命令。根据   #docker-dev(Freenode)中的jhowardmsft:“With(Win Server 2016)   技术预览4,它应该能够推送到Docker Trusted   注册表”。

感谢l0j1k根据我们在freenode的IRC的#docker-dev频道进行的讨论,他们的回答。

答案 1 :(得分:0)

至于在执行 docker login 时的 windows box 我遇到了这样的错误(猜想是类似的):

docker login dockerserver.local:5006 
Authenticating with existing credentials... 
Login did not succeed, error: Error response from daemon: Get https://dockerserver.local:5006/v1/: unauthorized: HTTP Basic: Access denied

通过以管理员权限运行终端窗口(cmd快捷方式)解决了: enter image description here