将Docker Windows映像推入Docker Hub时出错 – parsingHTTP响应时出错:无效字符/请求被pipe理规则禁止

注意 :这是从StackOverflow转发 。

我正在尝试将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" 

在推送之前,我通过login用法从我的Mac OS X框中获得正确的身份validation

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

一旦我通过身份validation,我发现从Docker Hub获得“403 Forbidden”错误没有意义。 另外,还不清楚这些“pipe理规则”是什么,但也许他们阻止我将图像推送到Docker Hubregistry中。 请注意 ,我的存储库被标记为“public”以及我的默认策略(Docker Hub仪表板中的“Settings”中的“Default Repository Visibility”)。

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

 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 

Docker客户端从Mac OS X框:

 $ 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 Core框公开的API)或从我的Windows Core框中直接推入,它们将始终导致相同的错误消息(1)。 它指出,整个过程取决于Windows Server Core框中的身份validation,因为它不能正常工作,结果将始终如一。

在这个时候,这是预期的行为。 Docker还处于Windows开发的早期阶段。 本文档明确指出,与DockerHub相关的命令尚不受支持。 根据#docker-dev(Freenode)中的jhowardmsft:“(Win Server 2016)Technical Preview 4,它应该能够推送到Docker Trusted Registry”。