最初,Alpine Linux 是 LEAF 项目(Linux Embedded Appliance Framework Project)的一个分支。LEAF 项目的设计的目标是开发出一个可以放在单个软盘上的 Linux 发行版,而后继的 Alpine 在此基础之上附加了一些更常用的软件包例如 Squid、Samba 等等。因此,Alpine 的典型特征就是“尺寸小”!当然为达成这个目标就要做出妥...
python:3.7 > centos:8 > python:3.7-slim > amazonlinux:latest > debian:buster > ubuntu:18.04 > alpine:latest 如果从这个排名来看centos 8无疑表现的差强人意,故被淘汰。从数字来看似乎alpine是最好的选择。且慢,我们再来进行下一项测试- 构建时间。 对比 – Docker 镜像的构建时间 在大多数的时间里,我...
既然Alpine 镜像这么坑,那么是不是只要是 Python 写的程序就不推荐使用 Alpine 镜像来构建呢?也不能完全这么肯定,至少 Python 用于数据科学时不推荐使用 Alpine,其他情况还是要具体情况具体分析,如果有可能,还是可以试一试 Alpine 的。 :slim 镜像 如果实在不想折腾,可以选择一个折衷的镜像xxx:slim。slim 镜像一般都...
alpine:latest > ubuntu:18.04 > > python:3.7-slim > debian:buster > python:last > amazonlinux:latest 确实没有看错,被我们寄予厚望的 Alpine 镜像的构建时间居然是24 分钟以上。与构建速度最快的 Amazon Linux 2 比较起来足足慢了有24 倍的时间!! 如果细心一些,你会发现这个 Dockerfile 与上面的几个不...
基于Alpine 构建的 Python 镜像反而可能更大 乍一听似乎违反常识,但是仔细一想,因为上面罗列的原因,确实会导致镜像更大的情况。 📚️Reference: Using Alpine can make Python Docker builds 50× slower (pythonspeed.com) 这里以这个Demo FastAPI Python 程序为例,其基于 Alpine 的 Dockerfile 地址是这个:https...
ubuntu占用64mb,而alpine仅仅5.57mb。 但是先别着急,假设我们的python应用需要做一些科学计算,并且将数据以图形的方式展示出来,这时候就需要matplotlib和pandas这两个库的帮助了,先用ubuntu来安装这俩个库,编写Dockerfile.ubuntu FROM python:3.7-slim RUN pip install --no-cache-dir matplotlib pandas ...
ubuntu占用64mb,而alpine仅仅5.57mb。 但是先别着急,假设我们的python应用需要做一些科学计算,并且将数据以图形的方式展示出来,这时候就需要matplotlib和pandas这两个库的帮助了,先用ubuntu来安装这俩个库,编写Dockerfile.ubuntu FROMpython:3.7-slimRUNpip install --no-cache-dir matplotlib pandas ...
$ docker build-t python-matpan-alpine-f Dockerfile.alpine.Sending build context to Docker daemon3.072kB Step1/2:FROMpython:3.8-alpine--->a0ee0c90a0db Step2/2:RUNpip install--no-cache-dir matplotlib pandas--->Runningin6740adad3729
.python-version: pyenv 的 .python-version 文件 不建议使用 Alpine 作为 Python 的基础镜像 为什么呢?大多数 Linux 发行版使用 GNU 版本(glibc)的标准 C 库,几乎每个 C 程序都需要这个库,包括 Python。但是 Alpine Linux 使用 musl, Alpine 禁用了 Linux wheel 支持。
Using Alpine can make Python Docker builds 50× slower (pythonspeed.com) 这里以这个Demo FastAPI Python 程序为例,其基于 Alpine 的 Dockerfile 地址是这个:https://github.com/east4ming/fastapi-url-shortener/blob/main/Dockerfile.alpine 因为缺少很多依赖,所以在用 pip 安装之前,就需要尽可能全地安装相关...