내 docker 출력 로그 stdout stderr은 다음 명령을 사용하여 볼 수 있습니다.
docker logs -f $LOGS_CONTAINER_ID
또한 각 줄에 컨테이너 ID를 입력하는 "sed"를 추가했습니다.
docker logs -f $LOGS_CONTAINER_ID | sed "s/^/$LOGS_CONTAINER_ID /"
실행하면 다음과 같은 결과가 나타납니다.
container112 error 10:20:10 problem
container112 info 10:20:09 not problem
container112 error 10:20:01 problem
여기서 "container112"는 $LOGS_CONTAINER_ID입니다.
여태까지는 그런대로 잘됐다. 이제 위의 명령을 파일(log.out)로 출력하고 싶어서 다음 명령을 작성했습니다.
docker logs -f $LOGS_CONTAINER_ID | sed "s/^/$LOGS_CONTAINER_ID /" >> log.out
log.out에 로그를 기록하지만 새 로그를 얻지 못하는 경우가 발생합니다(새 세션을 열고 를 실행하면 tail -f log.out
출력을 얻지 못합니다). 그래서 나는 또한 다음을 시도했습니다.
tail -f $(docker logs -f $LOGS_CONTAINER_ID | sed "s/^/$LOGS_CONTAINER_ID /") >> log.out
하지만 그것도 작동하지 않습니다. 문제가 무엇입니까?
답변1
이것이 도움이 됩니까?
docker logs $CONTAINERID 2>&1 | cat > logfile.log