没有输出的输入是不完整的

0%

change-pip-source-in-dockerfile

这篇文章将介绍如何在Dockerfile中更新pip源。

Dockerfile 保留当时使用的 Python 3.7 标签,它已停止上游维护;新项目请选择受支持的 Python 版本。这里重点演示 pip 配置文件的位置。

首先新建项目文件夹test,包含用于构建镜像的Dockerfile文件和设置pip源信息的pip.conf文件。

目录结构

1
2
3
mkdir test
cd test
touch Dockerfile pip.conf

更新pip.conf文件

1
2
3
[global]
timeout = 120
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

这里的 index-url 用于安装软件包,不用于 pip search。使用 HTTPS 源时保留默认的证书校验即可,不需要额外设置 trusted-host。

更新Dockerfile文件

1
2
3
4
5
6
7
8
9
10
FROM python:3.7-slim

# replace python pip source
COPY pip.conf /etc/pip.conf

RUN pip3 install flask redis

#其他Dockefile的命令...

CMD ["python3","main.py"]

编译执行

1
2
# 在前面已进入的 test 目录执行
docker build -t gateway:v0.1 .

编译成功,即可实现在镜像中使用pip命令安装对应的软件库。
如果自己主机的pip源要更新,则可以将上述 global 配置合并到自己机器对应的 pip 配置文件中,保留已有的其他必要设置。
bingo!