Я создаю веб-приложение с Django, которое использует предварительно обученную модель scikit-learn для обработки данных, которые пользователь вводит через веб-форму. Во время разработки я могу загрузить модель в память, выполнив следующую команду в urls.py
modelRF = joblib.load('model.pkl')
Однако, когда я пытаюсь развернуть приложение в контейнере Docker, я получаю 504 Gateway Timeout Error. Я попытался увеличить ограничения времени ожидания в файле nginx.conf, но безуспешно. Мне было интересно, может ли это также быть проблемой с объемом памяти, назначенным контейнеру.
Я не уверен, связана ли проблема с Docker или с тем, как я загружаю модель в память во время развертывания (а не в процессе разработки). Я использую docker-compose с nginx, supervisor и uwsgi.
Мой файл nginx.conf выглядит так:
upstream django {
server unix:///tmp/uwsgi.sock; # for a file socket
}
server {
listen 80 default_server;
server_name .example.com;
charset utf-8;
# max upload size
client_max_body_size 75M;
# Django media
location /media {
alias /home/docker/code/media;
}
location /static {
alias /home/docker/code/static;
}
location / {
uwsgi_pass django;
include /home/docker/code/uwsgi_params;
}
}
Ура!