Я настроил приложение da sh для визуализации развития инфекций COVID-19 в Германии с течением времени на виртуальной машине Google, работающей под управлением Ubuntu 18.04.
Приложение основано на трех docker контейнерах:
- Само приложение обслуживается gunicorn (на порту 5000)
- NGINX контейнера (делает перевод с 80 -> 443 -> 5000)
- Контейнер Certbot (для приобретения и обновления сертификатов SSL)
Теперь моя проблема в том, что я делаю, приложение, которое я получаю Сервис - довольно устаревшая версия приложения (данные точно такие, как при первом его развертывании. До 28 марта). Я попытался изменить исходные данные, чтобы включить более новые, но также включить меньшее количество данных, и не увидел никаких изменений вообще. Я также попытался изменить настройки Nginx для proxy_buffers, proxy_buffer_size, proxy_buffering, но безрезультатно.
Это заставляет меня поверить, что я получаю кэшированное приложение. Я пробовал разные браузеры / машины / устройства, что наводит меня на мысль, что кэширование происходит на стороне сервера.
Я не очень знаком с Nginx, ни с Gunicorn, ни с Da sh. Но что я нахожу очень странным, так это то, что результаты казались обналиченными, даже после многократных docker-compose up
и down
.
Чего мне здесь не хватает?
Найти репо здесь :
на основе следующего docker-compose
файла:
version: '3.7'
services:
web:
build: ./services/web
command: gunicorn --bind 0.0.0.0:5000 wsgi:app
expose:
- 5000
nginx:
image: nginx:1.17-alpine
restart: unless-stopped
volumes:
- ./data/nginx:/etc/nginx/conf.d
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
ports:
- "80:80"
- "443:443"
depends_on:
- web
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
certbot:
image: certbot/certbot
restart: unless-stopped
volumes:
- ./data/certbot/conf:/etc/letsencrypt
- ./data/certbot/www:/var/www/certbot
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"