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

在Python Docker镜像中安装azure-cli遇SSL错误求助

在python:3.7-alpine容器中安装azure-cli时的SSL错误排查方案

问题详情

执行RUN pip3 install azure-cli步骤时触发SSL错误:

pip._vendor.urllib3.exceptions.SSLError: [SSL: KRB5_S_TKT_NYV] unexpected eof while reading

同时提示pip版本可升级,最终命令执行失败,退出码为2。对应的Dockerfile内容如下:

FROM python:3.7-alpine

RUN apk add --update git bash curl unzip make coreutils openssh shadow

ARG TERRAFORM_VERSION="1.3.6"
ARG svgUserId=
ENV AZURE_DEFAULT_REGION=germanywestcentral

RUN if ! id $svgUserId; then \
    adduser svg -D &&\
    usermod -u ${svgUserId} svg; \
  fi

RUN curl https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip > terraform_${TERRAFORM_VERSION}_linux_amd64.zip && \
  unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip -d /bin && \
  rm -f terraform_${TERRAFORM_VERSION}_linux_amd64.zip

RUN pip3 install azure-cli

ENTRYPOINT []

解决步骤

  • 升级pip到兼容版本
    旧版pip与alpine的SSL库存在兼容性问题,先升级pip再安装azure-cli:

    RUN pip3 install --upgrade pip && pip3 install azure-cli
    
  • 补充完整SSL依赖
    Alpine基础镜像的SSL组件不全,需提前安装相关依赖:

    RUN apk add --update --no-cache openssl libssl-dev
    

    将该命令放在pip3 install步骤之前,确保依赖就绪。

  • 切换国内PyPI镜像(针对网络类SSL异常)
    若因网络波动导致SSL握手失败,可使用国内镜像源加速安装:

    RUN pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple && \
        pip3 install azure-cli -i https://pypi.tuna.tsinghua.edu.cn/simple
    
  • 锁定azure-cli兼容版本
    Python 3.7已停止维护,新版azure-cli不再支持该版本,可锁定到兼容的旧版本:

    RUN pip3 install azure-cli==2.45.0
    

    (2.45.0是已知支持Python 3.7的最后几个稳定版本之一)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:15:59