alpine 作为 builder 支持的 wheel 太少了
一堆 package 都没有 wheel, 特别是 arm64 的 wheel
光一个 1.4.2 的 pandas 在 github actions 上就编译了 6 个小时(py3-pandas 只给到 1.3.2)....
用 debian 编译就 7 分钟
试着用 debian 做 builder
alpine 做 runner
结果用到 glibc 的库就会出现 __sched_cpufree: symbol not found 之类的 bug....
最后发现 debian/ubuntu 做 builder, slim-debian/ubuntu 做 runner 才是最优解.
我自己的项目,最后编译完成的 debian image 只比 alpine 的大 50M 左右.
如果不是寸土寸金的, 真的建议 python 项目用 debian/ubuntu 做底包, 节约你宝贵的 debug 时间.
一堆 package 都没有 wheel, 特别是 arm64 的 wheel
光一个 1.4.2 的 pandas 在 github actions 上就编译了 6 个小时(py3-pandas 只给到 1.3.2)....
用 debian 编译就 7 分钟
试着用 debian 做 builder
alpine 做 runner
结果用到 glibc 的库就会出现 __sched_cpufree: symbol not found 之类的 bug....
最后发现 debian/ubuntu 做 builder, slim-debian/ubuntu 做 runner 才是最优解.
我自己的项目,最后编译完成的 debian image 只比 alpine 的大 50M 左右.
如果不是寸土寸金的, 真的建议 python 项目用 debian/ubuntu 做底包, 节约你宝贵的 debug 时间.
