Docker -составить flask приложение не печатает вывод из 'print' - PullRequest
0 голосов
/ 20 марта 2020

У меня есть приложение flask, в котором есть один маршрут и ничего сложного, работающее в контейнере docker. Я не могу на протяжении всей жизни получить инструкции для печати в журналах (docker-compose logs -f <containername>). До сих пор я пробовал различные ответы, которые предположительно исправили эту проблему для других, включая:

  1. Вызов print("test", flush=True)
  2. Установка PYTHONUNBUFFERED=1 и проверка того, что она установлена ​​в реальном контейнере с echo
  3. Настройка PYTHONUNBUFFERED=0
  4. Запуск python с флагом -u
  5. Использование модуля ведения журнала (logger.warning, logger.info и др.) c)

Пока ничего не получилось. Приложение flask прекрасно запускается, но вывод моих операторов печати не отображается. Я проверил здравомыслие, что я редактирую правильный файл, добавляя случайные синтаксические ошибки и просматривая сам кирпич приложения. Я использую python 3.8 и docker -композит 2

Ответы [ 2 ]

1 голос
/ 20 марта 2020

Вы можете просмотреть журналы с docker -композицией или docker

С docker -композицией вы должны увидеть СЕРВИС

Note: you add containername but you have to add service name
NOT $ docker-compose logs -f <containername> 

USE $ docker-compose logs -f <SERVICE_NAME>)

С docker вам необходимо добавить имя контейнера или идентификатор контейнера

docker logs -f CONTAINER_ID | CONTAINER_NAME
1 голос
/ 20 марта 2020

Попробуйте это:

import sys
print('It is working',file=sys.stderr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...