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

自建GitLab CI用docker:dind镜像pip安装包遇SSL证书验证失败

问题分析与解决方案

我之前在GitLab CI用docker:dind镜像时也踩过几乎一模一样的坑,给你梳理下问题根源和解决办法:

1. docker-compose安装失败的核心原因

你用的py-pip是Python2版本的pip,但docker-compose早在1.27.0版本就彻底停止支持Python2了,再加上Python2本身已经完全终止维护,旧版pip处理新包依赖时会触发各种兼容性报错,这就是你看到回溯信息的根本原因。

2. SSL证书验证失败的原因

docker:dind基于Alpine Linux,默认镜像里缺少完整的CA根证书包,导致pip访问PyPI的HTTPS链接时无法验证服务器证书,最终抛出SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)。


完整修复步骤

直接把你的安装命令替换成下面的内容即可:

# 安装Python3版本的pip + 系统CA证书包
apk add --no-cache py3-pip ca-certificates
# 升级pip到最新版本(可选,但能规避很多旧版本的bug)
pip3 install --upgrade pip
# 安装docker-compose
pip3 install docker-compose

额外说明

  • 用py3-pip替代py-pip:Python3是当前主流环境,docker-compose完全兼容,且新版pip能更好地处理现代包的依赖关系。
  • 安装ca-certificates:这个包会将常用的根证书添加到系统信任库,直接解决SSL证书验证失败的问题。
  • 如果你的GitLab Runner处于代理网络环境,还需要确保正确配置HTTP_PROXY/HTTPS_PROXY环境变量,但公共网络下上面的步骤基本就能解决所有问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:13:31