Как повторно подключиться к docker-compose output log?

#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. Спасибо, я подумал, что это будет легко. Надеюсь, это поможет кому-то еще