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

GitLab Docker构建失败:HTTPS客户端收到HTTP响应错误

解决Docker构建时"https: server gave HTTP response to HTTPS client"报错

以下是针对GitLab CI环境下该报错的排查和解决步骤:

  • 检查GitLab Runner节点的Docker守护进程配置
    仅在.gitlab-ci.yaml中配置不安全仓库是不够的,Runner所在节点的Docker daemon需要明确信任这个HTTP仓库:

    1. 编辑/etc/docker/daemon.json文件(不存在则创建),添加:
      {
        "insecure-registries": ["IP:5000"]
      }
      
    2. 重启Docker服务:sudo systemctl restart docker
    3. 重启GitLab Runner服务:sudo systemctl restart gitlab-runner
  • 修正Docker-in-Docker(DinD)的CI配置
    如果CI使用DinD模式构建,需要在job中关闭TLS并传递不安全仓库参数:
    在.gitlab-ci.yaml的对应job里添加:

    variables:
      DOCKER_TLS_CERTDIR: ""  # 关闭DinD的TLS强制要求
      DOCKER_OPTS: "--insecure-registry IP:5000"
    

    确保job使用docker:latest镜像并关联docker:dind服务。

  • 验证镜像拉取的基础连通性
    在Runner节点上手动执行docker pull IP:5000/project/app:stg,如果同样报错,说明Docker daemon的不安全仓库配置未生效;如果能成功拉取,再检查CI脚本中的构建命令是否正确。

  • 确认私有仓库的服务状态

    1. 用telnet IP 5000测试Runner节点与仓库的端口连通性
    2. 确认私有仓库本身运行在HTTP协议下,未配置HTTPS证书

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 04:14:53