본문 바로가기

DevOps & Infra/Docker

[Infrastructure/Docker] 도커 컨테이너 로그 파일 경로, MacOS 환경에서 로그 파일을 찾을 수 없는 문제

Linux 환경에서 로그 파일 경로

실행중인 컨테이너의 로그를 출력하려면 다음 명령어를 실행합니다.

$ docker logs [옵션] [컨테이너 ID|컨테이너 이름]

컨테이너의 로그 파일이 저장되어 있는 경로는 다음 명령어로 확인합니다.

$ docker inspect [컨테이너 ID|컨테이너 이름] --format "{{.LogPath}}"

로그 파일이 위치한 다음 경로가 표시됩니다.

/var/lib/docker/containers/[컨테이너 ID]/[컨테이너 ID-json.log]

MacOS 환경에서 로그 파일 경로

MacOS 환경에서 로그 파일의 저장 경로를 탐색하면 No such file or directory 에러가 발생합니다.

$ cat /var/lib/docker/containers/[컨테이너 ID]/[컨테이너 ID-json.log]
No such file or directory

MacOS에서 도커를 사용하려면 HyperKit 가상화로 구성된 LinuxKit이 필요합니다. 따라서 도커와 관련된 파일은 모두 LinuxKit 내부에 위치합니다. 다음 명령문을 실행하여 LinuxKit에 접속합니다.

$ nc -U ~/Library/Containers/com.docker.docker/Data/debug-shell.sock

새로운 LinuxKit CLI가 시작되면 이제 처음 파일 경로를 다시 사용하여 로그 파일을 탐색합니다.

$ cat /var/lib/docker/containers/[컨테이너 ID]/[컨테이너 ID-json.log]