#docker #logging #docker-compose
#docker #ведение журнала #docker-compose
Вопрос:
Пожалуйста, помогите, я даже не уверен, задаю ли я здесь правильный вопрос, поскольку в моей среде появилось много новых компонентов (новые компоненты моей среды заключаются в том, что я новичок в разработке в ОС Windows, новичок в Visual Studio Code IDE и новичок в Docker в VS Code. Этот вопрос может относиться к любому из этих факторов.
Сценарий:
Я загружаю свой компьютер с Windows 10, открываю VS Code, захожу в командную строку из VS Code (я использую оболочку Git Bash в VS Code). С этого терминала я запускаю свой проект со следующей командой: docker-compose up —build
в результате выполнения этой команды я вижу вывод в своем терминале, который указывает, что все три моих контейнера запущены (обратите внимание, что это приложение Flask, использующее Postgres с интерфейсом Angular, у каждого есть свой собственный контейнер).
В моем приложении есть конечная точка тестового API, которая при вызове отвечает «статус ок». После попадания на эту конечную точку в postman я вижу пару строк вывода в моем терминале, указывающих на то, что приложение обработало запрос на определенный URL. Все отлично.
Теперь я закрываю все свои приложения и перезагружаю компьютер.
После перезагрузки я вижу сообщение от системы, информирующее меня о том, что мои контейнеры docker запускаются. Это хорошо. Но теперь я хотел бы вернуться к состоянию, в котором я могу видеть тот же вывод, который я видел, когда запускал команду docker-compose up , однако этого больше нет в терминале VS Code.
Мой вопрос в том, как я могу снова получить этот вывод, не закрывая контейнеры docker и не создавая их заново? Конечно, я мог бы это сделать, но это кажется ненужным шагом, поскольку контейнеры автоматически перезапускаются при перезагрузке системы.
Есть ли журнал, который я могу отслеживать?
Дополнительная информация:
В DockerFile для сервера API. Сервер запускается следующей командой:
CMD ["./entrypoint.local.sh"]
В точке входа.local.sh файл, фактическое приложение запускается с помощью этой команды:
uwsgi --ini /etc/uwsgi.local.ini --chdir /var/www/my-application
Последнее замечание: это не приложение, которое я создал, поэтому я хотел бы избежать его изменения, поскольку это повлияет на других членов моей команды
Комментарии:
1. Примечание: как правило, docker-compose не перезапускает контейнеры при перезагрузке или при открытии редактора или терминала. Если контейнеры действительно остановлены, вы можете просто
up
снова и удалить--build
Ответ №1:
В вашем терминале запустите: docker-compose logs --follow <name-of-your-service>
Или просмотреть каждый поток журнала для каждой службы с docker-compose logs --follow
Вы можете найти имя вашей службы docker-compose, просмотрев каждый ключ services:
в вашем docker-compose.yml
Комментарии:
1. Спасибо, я подумал, что это будет легко. Надеюсь, это поможет кому-то еще