Dockerfile-中设置环境变量-配置pip代理-Cases


在 Dockerfile 中设置 pip 使用国内代理可以通过设置环境变量来实现。常用的国内镜像源有阿里云、清华大学等。以下是一个示例 Dockerfile,展示了如何设置 pip 使用国内代理:

# 使用官方 Python 镜像作为基础镜像
FROM python:3.9-slim

# 设置环境变量,使用阿里云的 pip 镜像源
ENV PIP_INDEX_URL=https://mirrors.aliyun.com/pypi/simple/

# 或者使用清华大学的 pip 镜像源
# ENV PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple/

# 设置 pip 不检查证书(如果需要)
ENV PIP_TRUSTED_HOST=mirrors.aliyun.com

# 或者使用清华大学的镜像源时
# ENV PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn

# 安装所需的 Python 包
COPY requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip install --no-cache-dir -r requirements.txt

# 复制应用程序代码到容器中
COPY . /app

# 设置容器启动时执行的命令
CMD ["python", "app.py"]

解释:

  1. PIP_INDEX_URL: 这个环境变量指定了 pip 使用的镜像源。你可以将其设置为阿里云、清华大学等国内镜像源的 URL。
  2. PIP_TRUSTED_HOST: 如果你使用的镜像源没有有效的 SSL 证书,可以通过设置这个环境变量来信任该主机。
  3. pip install --no-cache-dir: 这个选项告诉 pip 不要缓存下载的包,可以减少镜像的大小。

常用的国内镜像源:

  • 阿里云: https://mirrors.aliyun.com/pypi/simple/
  • 清华大学: https://pypi.tuna.tsinghua.edu.cn/simple/
  • 豆瓣: https://pypi.douban.com/simple/

注意事项:

  • 如果你在构建镜像时遇到 SSL 证书问题,可以尝试使用 PIP_TRUSTED_HOST 来信任镜像源。
  • 如果你需要临时使用代理,可以在 pip install 命令中直接指定镜像源,例如: bash pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/

通过这种方式,你可以在 Dockerfile 中配置 pip 使用国内代理,从而加速 Python 包的安装过程。