Я пытаюсь загрузить простой сервер uWSGI в образе док-станции Alpine (3.9). Вот скрипт Python
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
И я пытаюсь запустить его с помощью следующей команды:
uwsgi --plugins http,python3,gevent --http :8081 --uid nobody --gid nobody --wsgi-file hello.py --module hello --master --processes 4 --gevent 2 --gevent-monkey-patch --socket /tmp/uswgi.sock
Однако, каждый раз, когда я пытаюсь это сделать, я получаю эту ошибку:
!!! UNABLE to load uWSGI plugin: Error relocating /usr/lib/uwsgi/gevent_plugin.so: PyInt_FromLong: symbol not found !!!
uwsgi: unrecognized option: gevent
getopt_long() error
Я попытался установить пакет python3-dev
, но команда все равно не работает. У кого-нибудь есть идеи, почему это происходит? Вот мой Dockerfile:
FROM alpine:3.9.3
RUN apk add --no-cache --update \
python3 \
python3-dev \
uwsgi \
uwsgi-python3 \
uwsgi-http \
uwsgi-gevent
CMD ["sh"]