빠른 흐름
docker logs app
docker logs -f --tail 100 app
docker logs --since 10m app
docker info --format '{{.LoggingDriver}}'
docker inspect -f '{{.HostConfig.LogConfig.Type}}' app{
"log-driver": "local"
}로그 구조
docker logs는 컨테이너 프로세스의 stdout/stderr를 읽는다
docker logs는 컨테이너 안 애플리케이션이 표준 출력과 표준 에러로 남긴 내용을 보여 줍니다. 컨테이너 안의 /var/log/app.log 같은 파일을 자동으로 읽는 명령은 아닙니다. 웹 서버나 데이터베이스가 자체 파일에만 로그를 쓰도록 설정되어 있으면 docker logs에는 기대한 내용이 나오지 않을 수 있습니다.
docker logs app
docker logs --tail 200 app
docker logs --since 2026-05-23T10:00:00 app
docker logs -f app운영 이미지에서는 애플리케이션 로그를 파일에만 쓰기보다 stdout/stderr로 흘려보내는 방식이 컨테이너 모델에 더 잘 맞습니다. 그래야 Docker, Compose, orchestrator, 외부 로그 수집기가 같은 표면에서 로그를 가져갈 수 있습니다.
log driver는 로그 저장 위치와 조회 가능성을 바꾼다
Docker의 기본 logging driver는 json-file입니다. 이 방식은 로그를 JSON 형식으로 저장하며 별도 회전 설정이 없으면 디스크를 많이 사용할 수 있습니다. Docker 문서는 디스크 고갈을 줄이기 위해 일반적인 상황에서는 기본 logging driver를 local로 설정하는 방법도 안내합니다. local driver는 회전이 기본 적용되고 파일 형식도 더 효율적입니다.
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}daemon.json의 logging driver 변경은 새로 생성되는 컨테이너에 적용됩니다. 이미 만들어진 컨테이너가 자동으로 새 설정을 쓰지는 않으므로, 설정 변경 후에는 영향을 받을 컨테이너를 재생성해야 합니다.
운영 기준
| 상황 | 먼저 볼 것 |
|---|---|
| 앱이 남긴 최근 로그 확인 | docker logs --tail 100 <container> |
| 실시간 로그 확인 | docker logs -f <container> |
| 특정 시점 이후만 확인 | docker logs --since <time> |
| daemon 기본 driver 확인 | docker info --format '{{.LoggingDriver}}' |
| 컨테이너별 driver 확인 | docker inspect -f '{{.HostConfig.LogConfig.Type}}' <container> |
| 로그 파일이 커지는 문제 | local driver 또는 json-file 회전 설정 |
| docker logs가 비어 있음 | 앱이 stdout/stderr로 쓰는지, driver가 dual logging을 지원하는지 확인 |
원격 logging driver를 쓰면 로그가 외부 시스템으로 전달됩니다. 이때 구성에 따라 docker logs가 유용하지 않을 수 있습니다. "로그 수집은 외부 시스템", "긴급 확인은 docker logs"를 둘 다 원한다면 dual logging 지원 여부와 driver 동작을 먼저 확인해야 합니다.
주의할 점
기본 json-file driver를 회전 없이 오래 두면 로그가 호스트 디스크를 채울 수 있습니다. 로그량이 많은 서비스는
driver와 max-size, max-file 같은 회전 정책을 컨테이너 생성 전에 정해야 합니다.
실패 예시
- 앱이 /var/log/app.log에만 기록해 docker logs가 비어 있음
- json-file 기본값을 그대로 두고 고출력 컨테이너를 장기간 실행함
- daemon logging driver를 바꿨지만 기존 컨테이너를 재생성하지 않음참고 링크
2 sources