Я использую docker-compose для двух контейнеров и запускаю его с помощью docker-compose up -d
Но когда я пытаюсь просмотреть его журналы с помощью docker-compose logs -f
он показывает мне журналы только одного из контейнеров. Я попытался запустить другой контейнер индивидуально, и он отлично показывает журналы. Я ценю любую помощь.
json-file
(по умолчанию) или journald
?docker-compose version
?docker-compose.yml
?journald
docker-compose version 1.11.2, build dfed245
docker-py version: 2.1.0
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t 3 May 2016
version: '2'
services:
service-whose-logs-are-not-showing:
ports:
- "5553:5554"
image: image-name
command: python3.4 /path/pythonfile.py
volumes:
- /path1:/path2
- /path3:/path4
user: "username"
extra_hosts:
- "mxgateway:172.16.1.1"
restart: always
service-whose-logs-are-showing:
image: image-2-name
command: <command>
restart: always
Обратите внимание: если я запустил image-name
сам по себе, журналы будут отображаться нормально.
Благодарю.
Привет, я только что понял, что проблема в том, что Python не сбрасывает стандартный вывод. В итоге я добавил следующий код в свой docker-compose.yml
environment:
- PYTHONUNBUFFERED=1
Вы знаете, часто ли такое случается с Docker?
О боже, я потратил много времени на поиски этого :) Это случилось со мной, когда я использовал Flask, мне пришлось нажать кнопку сохранения в коде Python, чтобы сервер перезапустился и сбросил накопленные трассировки ошибок.
Большое спасибо @bibiteix
Самый полезный комментарий
Привет, я только что понял, что проблема в том, что Python не сбрасывает стандартный вывод. В итоге я добавил следующий код в свой
docker-compose.yml
Вы знаете, часто ли такое случается с Docker?