docker注册表背后有两个代理

我有以下设置:

nginx proxy1 - > nginx proxy2 在其他一些机器上 - > docker registry .

我尝试过运行一些docker命令,如login和push / pull等 .

docker login命令工作正常 .

docker push命令未按预期工作(获得400错误)

这些是ngnix1上的日志 .

“?PATCH / V2 /库/ nginx_alpine /斑点/上传/ 796ac2aa-299d-414F-a3b6-e81bfc3e3e0c _STATE = P0FQyDvs3vbxP8hwIVtC9CA_o1TqOYhyGxOSW_0Zsp17Ik5hbWUiOiJsaWJyYXJ5L25naW54X2FscGluZSIsIlVVSUQiOiI3OTZhYzJhYS0yOTlkLTQxNGYtYTNiNi1lODFiZmMzZTNlMGMiLCJPZmZzZXQiOjAsIlN0YXJ0ZWRBdCI6IjIwMTgtMDYtMDdUMjM6NDM6MDcuOTgwMDMzNTM4WiJ9 HTTP / 1.1” 400 271 “ - ”“搬运工/ 18.03.1-CE GO / go1.9.5 GIT中-commit / 9ee9f40 kernel / 4.9.87-linuxkit-aufs os / linux arch / amd64 UpstreamClient(Docker-Client / 18.03.1-ce \ x5C(darwin \ x5C))“” - “

所有的GET,POST和HEAD调用似乎都运行正常 . 但是,PATCH请求总是在nginx1上抛出400 .

任何帮助,将不胜感激 .

回答(1)

3 years ago

显然这些是Docker的一些问题 . 以下是一些帮助我的解决方法 .

https://github.com/vmware/harbor/issues/3114

https://github.com/docker/distribution/issues/2225