首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >docker push得到“错误解析HTTP 405 .不允许发布”

docker push得到“错误解析HTTP 405 .不允许发布”
EN

Stack Overflow用户
提问于 2017-10-04 21:09:00
回答 1查看 6.9K关注 0票数 4

我正在学习Docker教程

https://docs.docker.com/get-started/part2/#conclusion-of-part-two

当我运行docker push命令时,我得到了以下错误

代码语言:javascript
复制
[root@pecan-9 firstDocker]# docker push leeyuiwah/get-started:part2
The push refers to a repository [registry.access.redhat.com/leeyuiwah/get-started]
7a8cded9ffac: Preparing
77a209967ebf: Preparing
00d1486114fa: Preparing
24b02a08f57d: Preparing
aed9311ebf15: Preparing
17f9d9d4ce37: Waiting
18f9b4e2e1bc: Waiting
error parsing HTTP 405 response body: invalid character '<' looking 
for beginning of value: "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 
Final//EN\">\n<title>405 Method Not Allowed</title>\n
<h1>Method Not Allowed</h1>\n<p>
The method POST is not allowed for the requested URL.</p>\n"

我在网上搜索过。在这个论坛上有许多关于同样错误的报告,但没有回答:

https://forums.docker.com/t/docker-push-command-is-throwing-error-405-method-not-allowed/28384/4

我在防火墙后面,但是当我用docker run hello-world测试时,从互联网上提取图像时,这个命令没有问题。

我使用的版本略低于本教程的建议。不确定这是否是原因。

代码语言:javascript
复制
[root@pecan-9 firstDocker]# docker --version
Docker version 1.12.6, build 3a094bd/1.12.6
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-05 19:36:20

RedHat 检查主机名(特别是在系统上运行时)

(c.f.这个带有Redhat的bug报告)

我意识到,通过不给标记和push命令参数,我实际上使用的是不同的注册表(registry.access.redhat.com而不是hub.docker.com)。

代码语言:javascript
复制
[root@pecan-9A firstDocker]# docker push leeyuiwah/get-started:part2
The push refers to a repository 
[registry.access.redhat.com/leeyuiwah/get-started]
Error: Status 404 trying to push repository leeyuiwah/get-started: 
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n
<title>404 Not Found</title>\n<h1>Not Found</h1>\n
<p>The requested URL was not found on the server.</p>
<p>If you entered the URL manually please check your spelling and try again.</p>
\n"

所以现在我显式地设置了注册表,但是我得到了Index response didn't contain any endpoints

代码语言:javascript
复制
[root@pecan-9A firstDocker]# docker-latest tag friendlyhello hub.docker.com/leeyuiwah/get-started:part2
[root@pecan-9A firstDocker]# docker-latest push hub.docker.com/leeyuiwah/get-started:part2
The push refers to a repository [hub.docker.com/leeyuiwah/get-started]
3088bc0df692: Preparing
fa9c71108753: Preparing
4cc654f2b860: Preparing
24b02a08f57d: Preparing
aed9311ebf15: Preparing
17f9d9d4ce37: Waiting
18f9b4e2e1bc: Waiting
Index response didn't contain any endpoints

版本

我还切换到使用最新的码头,只是为了确保问题不是由于版本。

代码语言:javascript
复制
[root@pecan-9A firstDocker]# docker-latest --version
Docker version 1.13.1, build 6774275/1.13.1

docker login**?**的伪响应

我注意到的另一件事是,login命令一直在给我虚假的Login Succeeded响应。这可能是一个因素吗?

代码语言:javascript
复制
[root@pecan-9A firstDocker]# docker-latest login hub.docker.com
Username (leeyuiwah): bogus (I don't think this is a valid account)
Password:                   (just type in some junk)
Login Succeeded

使用本地自托管注册表进行测试

(c.f.Docker :运行本地注册表)

我可以让推送使用本地的自托管注册表。但我还是用了个假登录

安装本地自托管注册表。

代码语言:javascript
复制
[root@pecan-9A firstDocker]# docker run -d -p 5000:5000 --restart=always --name registry registry:2
Unable to find image 'registry:2' locally
Trying to pull repository registry.access.redhat.com/registry ...
Trying to pull repository docker.io/library/registry ...
2: Pulling from docker.io/library/registry
90f4dba627d6: Pull complete
b3e11d7b4f5e: Pull complete
1f032f3c8932: Pull complete
425585e7aedb: Pull complete
f45f535a83d2: Pull complete
Digest: sha256:0f8fe61fa337b8ef02217702ba979b47a7d68717d4628f31592ebff85915f3ba
37f70dbd0e4f96707d07579c8ab8577032cefa9142af0c13c2dace23adda213a

伪造登入

代码语言:javascript
复制
[root@pecan-9A firstDocker]# docker-latest login localhost:5000
Username: dkfjld        (bogus account name)
Password:               (bogus password)
Login Succeeded         (this still bugs me!)

标记,然后推动==>,这一次,它是有效的!

代码语言:javascript
复制
[root@pecan-9A firstDocker]# docker-latest  tag friendlyhello localhost:5000/leeyuiwah/get-started:part2
[root@pecan-9A firstDocker]# docker-latest push localhost:5000/leeyuiwah/get-started:part2
The push refers to a repository [localhost:5000/leeyuiwah/get-started]
3088bc0df692: Pushed
fa9c71108753: Pushed
4cc654f2b860: Pushed
24b02a08f57d: Pushed
aed9311ebf15: Pushed
17f9d9d4ce37: Pushed
18f9b4e2e1bc: Pushed
part2: digest: sha256:23c9720ee308ab6fa6ec8b0c23c40fadc7562fe34352d64b2322f43a90dfec0b size: 1787
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46574214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档