Docker私有注册表-不允许使用方法405

Docker私有注册表-不允许使用方法405,docker,boot2docker,docker-registry,Docker,Boot2docker,Docker Registry,我正在尝试为docker创建私有注册表,我依赖docker站点。我有一个单独的linux设备安装了这个注册表,然后我试图从本地推送我的图像(带有docker工具箱的osx设备)。我一直从注册表服务器获取405。我对docker很陌生。我希望默认的基本配置能够顺利工作 配置 最新的docker工具箱。 最新注册表安装。 我只更改TLS配置以通过http发布请求 错误 推送引用存储库[192.168.1.98:5000/完成](len:1) 发送图像列表 错误:状态405正在尝试推送存储库完成:“\

我正在尝试为docker创建私有注册表,我依赖docker站点。我有一个单独的linux设备安装了这个注册表,然后我试图从本地推送我的图像(带有docker工具箱的osx设备)。我一直从注册表服务器获取405。我对docker很陌生。我希望默认的基本配置能够顺利工作

配置 最新的docker工具箱。 最新注册表安装。 我只更改TLS配置以通过http发布请求

错误
推送引用存储库[192.168.1.98:5000/完成](len:1)
发送图像列表
错误:状态405正在尝试推送存储库完成:“\n\n405方法不允许\n\n方法不允许\nURL/v1/repositories/complete/

\n\n”

不允许使用清单put,因为注册表配置为直通缓存或其他原因

(像)

不支持:由于缺少实现或参数集无效,该操作不受支持

同一文档使用包含/v2的URL,与问题中使用的URL不同(
/v1/repositories/complete

包括:

获取正确的标题非常重要。对于“
/v2/
”url空间下任何请求的所有响应,
Docker分发API版本
标题应设置为值“
注册表/2.0
”,即使对于
4xx
响应也是如此

确保您正在运行v2注册表映像(现在是)


实际发现:

注册表主机上的端口转发错误:5000端口正从另一台服务器提供服务
我已经切换到一个可用的端口,一切都开始工作了


对不起,我对这方面的知识有限。我确信我已经在注册表主机盒上安装了注册表V2版本。它在这个盒子里工作得很好(推拉)。现在我试图从我的客户端推送图像,但失败了。对于客户端,我正在使用最新的docker工具箱安装osx和API调用,我想问题在于客户端安装。是否有必要升级工具箱以使用V2 api而不是V1?嗨,这是我的错。注册表主机上端口转发的愚蠢错误。5000端口正在从另一台服务器进行维护。我已经切换到一个可用的端口,一切都开始工作了。谢谢你的洞察力。@Charith太棒了!我已将您的评论包含在答案中,以提高可视性。
    The push refers to a repository [192.168.1.98:5000/complete] (len: 1)
Sending image list
Error: Status 405 trying to push repository complete: "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\n<html><head>\n<title>405 Method Not Allowed</title>\n</head><body>\n<h1>Method Not Allowed</h1>\n<p>The requested method PUT is not allowed for the URL /v1/repositories/complete/.</p>\n</body></html>\n"
405 Method Not Allowed