Programing

docker-compose run을 사용하여 로그 출력을 보는 방법은 무엇입니까?

lottogame 2020. 11. 18. 08:19
반응형

docker-compose run을 사용하여 로그 출력을 보는 방법은 무엇입니까?


사용할 때 docker-compose updocker-compose.yml파일의 모든 컨테이너에 대한 로그를 볼 수 있습니다 .

그러나 사용할 때 docker-compose run app콘솔 출력 만 표시 app되지만 app종속 된 서비스는 표시되지 않습니다 . 다른 서비스에 대한 로그 출력을 어떻게 볼 수 있습니까?


2019 년 7 월 1 일 업데이트

docker-compose logs <name-of-service>

로부터 문서 :

사용법 : 로그 [옵션] [서비스 ...]

옵션 :

--no-color 단색 출력을 생성합니다.

-f, --follow 로그 출력을 따릅니다.

-t, --timestamps 타임 스탬프를 표시합니다.

--tail = "all"각 컨테이너의 로그 끝부터 표시 할 줄 수입니다.

Docker 로그보기

Docker compose를 분리 모드로 시작하고 나중에 모든 컨테이너 의 로그에 연결할 수 있습니다 . 로그 감시 마치면 서비스 종료 하지 않고 로그 출력에서 ​​분리 할 수 있습니다.

  1. 분리 모드 ( ) 에서 모든 서비스docker-compose up -d시작하는 데 사용 합니다 ( 분리 모드에서는-d 로그가 표시되지 않음).
  2. 실행중인 모든 서비스 의 로그 자신 docker-compose logs -f -t연결하는 데 사용 하지만 로그 출력을 따르고 옵션이 타임 스탬프를 제공함을 의미합니다 ( Docker 참조 참조 ).-f-t
  3. 실행중인 컨테이너를 종료 하지 않고 로그 출력에서 ​​자신 분리 하려면 Ctrl + z또는 Ctrl + c사용하십시오.

단일 컨테이너의 로그에 관심이 있다면 docker대신 키워드를 사용할 수 있습니다 .

  1. 사용하다 docker logs -t -f <name-of-service>

출력 저장

출력을 파일에 저장하려면 logs 명령에 다음을 추가하십시오.

  1. docker-compose logs -f -t >> myDockerCompose.log

터미널 에서 여러 컨테이너 또는 서비스의 출력 로그 를 확인하려는 경우 .

docker-compose logs -t -f --tail <no of lines> <containerid1> <containerid2> ...<containeridn><name-of-service1>...<name-of-servicen>

용법:

예 : API 컨테이너와 포털 컨테이너가 있다고 가정하면 다음과 같이 할 수 있습니다.

docker-compose logs -t -f --tail 5 portal api

여기서 5는 두 로그의 마지막 5 줄을 나타냅니다.

참조 : https://docs.docker.com/v17.09/engine/admin/logging/view_container_logs/


  1. 명령을 사용하여 분리 모드에서 컨테이너를 시작하십시오. docker-compose up -d
  2. 컨테이너 사용을 보려면 다음을 사용하십시오. docker ps
  3. 컨테이너에 대한 로그를 보려면 : docker logs <containerid>

참고 URL : https://stackoverflow.com/questions/37195222/how-to-view-log-output-using-docker-compose-run

반응형