You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Docker Buildx推送多平台镜像至私有Registry时遭遇400 Bad Request错误

Docker Buildx推送多平台镜像至私有Registry时遭遇400 Bad Request错误

看起来你在使用Docker Buildx推送多平台镜像到私有Registry时遇到了400 Bad Request错误,而普通单平台镜像推送却能正常工作——这个问题大多和私有Registry对多平台镜像manifest的支持,或者Nginx反向代理的配置细节有关,我来帮你一步步排查解决:

一、先排查Registry本身的配置支持

你使用的registry:2镜像本身是支持多平台镜像的,但可以确认下是否开启了必要的配置:

  • 在你的docker-compose.yml中,给registry服务添加REGISTRY_STORAGE_DELETE_ENABLED=true环境变量(虽然这主要用于删除镜像,但某些场景下能避免manifest相关的存储问题):
    environment:
      - REGISTRY_LOG_LEVEL=debug
      - REGISTRY_AUTH=htpasswd
      - REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm
      - REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd
      - REGISTRY_STORAGE_DELETE_ENABLED=true # 添加这一行
    
  • 重启Registry容器:docker-compose down && docker-compose up -d

二、修复Nginx反向代理的关键配置

多平台镜像推送涉及到Docker的manifest列表(application/vnd.docker.distribution.manifest.list.v2+json),Nginx的默认配置可能没有适配这类请求,需要调整你的反向代理规则:

修改Nginx配置中hub.topfyf.cn站点的location /块,替换为以下内容:

location /
{
    proxy_pass http://localhost:5000;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    # 延长超时时间,多平台镜像推送可能耗时更久
    proxy_read_timeout 1800;
    proxy_send_timeout 1800;
    # 禁用缓存,避免manifest请求被缓存导致错误
    proxy_cache_bypass $http_pragma $http_authorization;
    proxy_no_cache $http_pragma $http_authorization;
    # 关闭代理缓冲,Docker Registry需要流式处理请求
    proxy_buffering off;
    chunked_transfer_encoding on;
}

修改后重新加载Nginx配置:nginx -s reload

三、确认Buildx命令的正确性

确保你使用了正确的Buildx命令来构建并推送多平台镜像:

  1. 先创建并使用Buildx builder实例(如果还没创建):
    docker buildx create --use
    
  2. 执行构建推送命令时,明确指定平台列表:
    docker buildx build --platform linux/amd64,linux/arm64 -t hub.topfyf.cn/debtnet-api:latest --push .
    

四、查看Registry日志定位具体错误

由于你已经开启了Registry的debug日志,可以查看容器日志获取更详细的错误信息:

docker logs registry

日志中可能会提示具体的请求错误原因(比如manifest格式问题、存储权限问题等),这能帮你进一步精准排查。

备注:内容来源于stack exchange,提问作者OrthoPole

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 12:28:12