Estou usando docker-compose para dois contêineres e o executo usando docker-compose up -d
Mas quando tento ver seus logs com docker-compose logs -f
ele me mostra apenas os logs de um dos contêineres. Tentei executar o outro contêiner individualmente e ele mostra os logs perfeitamente. Agradeço qualquer ajuda.
json-file
(padrão) ou 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
Observe que se eu executar image-name
sozinho, os logs aparecerão bem.
Obrigado.
Olá, acabei de perceber que era um problema com o Python que não estava liberando seu stdout. Acabei adicionando o seguinte código ao meu docker-compose.yml
environment:
- PYTHONUNBUFFERED=1
Você sabe se isso é algo comum de acontecer com o Docker?
Oh Deus, eu gastei um bom tempo perseguindo isso :) Aconteceu comigo enquanto usava o Flask, eu tive que clicar em salvar no código python para que o servidor reiniciasse e liberasse os rastreamentos de erros acumulados.
Muito obrigado @bibiteix
Comentários muito úteis
Olá, acabei de perceber que era um problema com o Python que não estava liberando seu stdout. Acabei adicionando o seguinte código ao meu
docker-compose.yml
Você sabe se isso é algo comum de acontecer com o Docker?