ppa
- это личный пакет пакетов ubuntu, он позволяет использовать пакет deb, его нельзя использовать в alpine.Используйте следующую, чтобы найти один в альпийском:
orange@orange:~$ docker run -it alpine /bin/sh
/ # apk update
/ # apk list | grep numpy
py2-numpy-f2py-1.16.4-r1 x86_64 {py-numpy} (BSD-3-Clause)
py-numpy-f2py-1.16.4-r1 x86_64 {py-numpy} (BSD-3-Clause)
py-numpy-doc-1.16.4-r1 x86_64 {py-numpy} (BSD-3-Clause)
py3-numpy-1.16.4-r1 x86_64 {py-numpy} (BSD-3-Clause)
py-numpy-1.16.4-r1 x86_64 {py-numpy} (BSD-3-Clause)
py-numpy-dev-1.16.4-r1 x86_64 {py-numpy} (BSD-3-Clause)
py2-numpy-1.16.4-r1 x86_64 {py-numpy} (BSD-3-Clause)
py3-numpy-f2py-1.16.4-r1 x86_64 {py-numpy} (BSD-3-Clause)
И в соответствии с this , gdal находится в источнике тестирования края, затем вам также нужно добавить его в список apk.
Таким образом, в соответствии с описанными выше методами, наконец, работоспособный Dockerfile, как показано ниже:
FROM alpine
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && \
apk add python3 python3-dev py3-numpy py-numpy-dev gdal gdal-dev build-base musl-dev && \
pip3 install rasterio flask flask_json flask_cors requests pymongo
С помощью выше вы можете добавить к нему другие вещи, чтобы сформировать ваш окончательный dockerfile.