Как легко отлаживать Redis и Django/Gunicorn при разработке с использованием Docker?
Я имею в виду не более сложные методы отладки, а то, как получить доступ к сообщениям об ошибках того же типа, которые обычно направляются на вкладки терминала? В основном я использую Docker в проекте Django, также использующем Redis.
При старом способе работы я открывал вкладку терминала linux для gunicorn следующим образом: gunicorn --reload --bind 0.0.0.0:8001 myapp.wsgi:application
На этой вкладке продолжал работать Gunicorn, и любая ошибка Python отображалась на этой вкладке, чтобы я мог увидеть проблему и устранить ее.
Я также могу открыть вторую вкладку для celery woker: celery -A myapp worker --pool=solo -l info
Произошло то же самое, вкладка была занята Celery, и любая ошибка Python в задаче отображалась на вкладке, и я мог увидеть проблему и исправить код.
Мой вопрос: используя docker, есть ли способ заставить каждый из контейнеров направлять эти же ошибки, которые раньше выводились на экран, в файлы журнала, чтобы я мог отлаживать свой код при возникновении ошибки в Python?
Какой правильный способ обработки простой отладки во время разработки с использованием контейнеров Docker?
Посмотрев подробнее об этом в документации по docker, я нашел ссылку, которая решает эту проблему: View logs for a container or service
В принципе, команда "docker logs CONTAINER_ID" показывает на экране именно то, что мы увидели бы в терминале, на котором запущено приложение.
Отлично работает для просмотра журналов Django, Redis и Angular.
Просто наберите:
журналы докера CONTAINER_ID
Замените ключевое слово container_id на реальный id контейнера, в который вы хотите войти.
Чтобы найти тип идентификатора:
docker ps