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