我最近在构建docker
映像时遇到了使用pip
的问题。基本操作系统是ubuntu 18.04,错误如下
python3 -m pip install --upgrade pip
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:852)'),)': /simple/pip/
Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:852)'),)': /simple/pip/
Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:852)'),)': /simple/pip/
Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:852)'),)': /simple/pip/
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:852)'),)': /simple/pip/
这同样适用于没有问题的主机操作系统。docker版本是docker 19.03.3版本,构建a872fc2f86
我目前所做的一些巡回演出。
- 将DNS添加到
/etc/docker/daemon.json
- 重新启动docker引擎
- 使用
pip --trusted-host pypi.org install -U pip
运行 - 添加证书并更新ca
尽管进行了所有故障排除,但问题仍然存在。还有其他方法可以让它发挥作用吗。
附言:这是从昨天开始的,之前没有任何问题。
尝试在Dockerfile:中添加Ubuntu的cacert
RUN wget -P /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt
RUN update-ca-certificates
如果这没有帮助,你可以看到这个问题