Quando eu uso docker-compose up
, posso ver os logs de todos os contêineres em meu docker-compose.yml
arquivo.
No entanto, quando eu uso, docker-compose run app
vejo apenas a saída do console, app
mas nenhum dos serviços dos quais app
depende. Como posso ver a saída do log para os outros serviços?
docker
docker-compose
sthomps
fonte
fonte
docker-compose logs -f service_name
docker-compose run
cria um novo contêiner cada vez que você o executa.docker-compose run
no circleci apenas para executar meus testes, então está tudo bem se ele criar um novo contêiner. O principal problema é simplesmente não ver a saída do log dos serviços dependentes.Respostas:
Atualização 1 de julho de 2019
Da documentação :
Ver registros do docker
Você pode iniciar o Docker compose no modo desanexado e anexar-se aos logs de todos os contêineres posteriormente. Se você terminar de assistir os logs, poderá se desconectar da saída de logs sem encerrar seus serviços.
docker-compose up -d
para iniciar todos os serviços no modo desanexado (-d
) (você não verá nenhum registro no modo desanexado)docker-compose logs -f -t
para se anexar aos registros de todos os serviços em execução , ao passo que-f
significa que você segue a saída do registro e a-t
opção fornece carimbos de data / hora (consulte a referência do Docker )Ctrl + z
ouCtrl + c
para separar- se da saída de registro sem desligar seus contêineres em execuçãoSe estiver interessado em logs de um único contêiner, você pode usar a
docker
palavra - chave em seu lugar:docker logs -t -f <name-of-service>
Salve a saída
Para salvar a saída em um arquivo, adicione o seguinte ao comando logs:
docker-compose logs -f -t >> myDockerCompose.log
fonte
docker-compose run
e anexar a esses serviços, que têm nomes exclusivos dos serviços listados emdocker.compose.yml
Se você quiser ver os registros de saída de todos os serviços em seu terminal.
Se você deseja registrar a saída de serviços específicos , pode fazer o seguinte:
Ref: https://docs.docker.com/v17.09/engine/admin/logging/view_container_logs/
fonte
docker-compose up -d
docker ps
docker logs <containerid>
fonte
Infelizmente, precisamos executar
docker-compose logs
separadamentedocker-compose run
. Para que isso funcione de maneira confiável, precisamos suprimir odocker-compose run
status de saída e, em seguida, redirecionar o log e sair com o status correto.fonte