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

本地推送Docker镜像至私有仓库失败:HTTP响应转HTTPS客户端错误

本地推送Docker镜像到局域网Registry失败的排查与解决

尝试将本地Docker镜像推送到局域网内另一台机器运行的Docker Registry,仓库主机本地推送正常,但本地电脑无法推送。已在仓库主机的/etc/docker/daemon.json中配置insecure-registries参数,问题仍未解决。

仓库主机Docker Info信息

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.8.2-docker)
  compose: Docker Compose (Docker Inc., v2.6.0)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 6
  Running: 6
  Paused: 0
  Stopped: 0
 Images: 6
 Server Version: 20.10.17
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 0197261a30bf81f1ee8e6a4dd2dea0ef95d67ccb
 runc version: v1.1.3-0-g6724737
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.4.0-99-generic
 Operating System: Ubuntu 20.04.4 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 1.935GiB
 Name: mongo-dav-ubuntu
 ID: KAQO:FLF5:CNCJ:M6GN:W6ML:LBGW:YJ5S:IPM4:FJLF:FH5G:BIXU:HBUR
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  {host-machine-local-domain}:9000
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No swap limit support

本地电脑报错信息

The push refers to repository [{host-machine-local-domain-name}:9000/alpine]
Get "https://{host-machine-local-domain-name}:9000/v2/": http: server gave HTTP response to HTTPS client

仓库主机Docker容器运行状态

CONTAINER ID   IMAGE                       COMMAND                  CREATED             STATUS          PORTS                                             NAMES
4a55c18e4141   registry:2                  "/entrypoint.sh /etc…"   About an hour ago   Up 25 seconds   5000/tcp, 0.0.0.0:9000->80/tcp, :::9000->80/tcp   vibrant_shockley

排查与解决步骤

  • 错误核心原因:报错显示本地Docker客户端默认以HTTPS协议访问Registry,但你的Registry是HTTP服务,且仅在仓库主机配置了不安全Registry信任,本地电脑未做对应配置。
  • 本地电脑配置不安全Registry:
    1. 找到对应系统的Docker配置文件:
      • Linux/macOS:/etc/docker/daemon.json
      • Windows:C:\ProgramData\docker\config\daemon.json(文件不存在则新建)
    2. 添加以下配置(替换为实际的局域网域名或IP):
      {
        "insecure-registries": ["{host-machine-local-domain-name}:9000"]
      }
      
    3. 重启本地Docker服务:
      • Linux/macOS:执行sudo systemctl restart docker
      • Windows:在服务管理器中重启Docker Desktop服务
  • 验证服务与网络连通性:
    本地电脑执行curl http://{host-machine-local-domain-name}:9000/v2/,返回{}则说明Registry服务正常且网络可达。
  • 确认端口映射配置:从容器运行信息看,主机9000端口已映射到容器80端口,且你已设置HTTP_SERVER_ADDR为80,这部分配置无问题。

内容的提问来源于stack exchange,提问作者Yasin Kuru

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 03:06:22