docker_alpine_python安装numpy&mysql-client
前言
在使用alpine替换ubuntu进行docker容器化的时候,遇到了一些问题。
主要是pip安装包时候的一些依赖
发现问题的包
Numpy
1 | FROM python:3.8.10-alpine3.14 |
Mysql-Client
1 | FROM python:3.8.10-alpine3.14 |
Pynacl
1 | # or 正常 |
Pillow
1 | RUN apk add gcc python3-dev jpeg-dev zlib-dev |
虚拟包
为了防止这些依赖项最终出现在最终镜像中(保持镜像大小较小),
可以将其中的一些(不是全部!)安装在虚拟包中。
成功安装需要的python库后,可以仅删除Python库安装所需的依赖项。
以Pynacl为例
1 | # 安装在虚拟环包pynacl_deps中 不使用缓存 |
docker_alpine_python安装numpy&mysql-client