Mac에서 분석 서버 이미지를 만들 때 apt가 패키지를 내려받을 공간이 부족하다고 했습니다. Mac에는 약 20 GiB가 남아 있었습니다. 컨테이너 안에서 df -h /를 실행하자 가상 디스크 파일시스템은 40G 규모였고, 사용 가능량 0, 사용률 **100%**로 표시됐습니다. 호스트의 남은 용량과 Linux 컨테이너가 실제로 쓸 수 있는 용량이 따로 움직이고 있었습니다.

실행 이미지 하나로 검증

당시에는 실행 이미지와 별도로 테스트용 빌드 단계까지 유지하려 했습니다. 로컬 Docker 디스크가 부족해 비슷한 크기의 이미지를 추가로 만들기 어려웠습니다. 테스트 전용 단계를 빼고, 실행 이미지에서 일회용 컨테이너를 띄워 개발 의존성을 받아 검사하는 방식으로 바꿨습니다. 검증 기록에서 실행 이미지는 약 1.65 GB였고, 그 이미지로 컨테이너를 만들어 실행한 테스트 63개가 통과했습니다. 디스크를 정리한 뒤 실패했던 리뷰의 빌드를 같은 조건으로 다시 돌렸다는 기록은 없습니다.

Docker 파일 공유 범위 확인

같은 이미지를 기동해 API를 확인할 때, 저장소를 흉내 내는 컨테이너에 합성 녹음 파일을 넣어야 했습니다. Mac의 임시 폴더에는 파일이 있었지만 Docker에 bind mount를 요청하자 bind source path does not exist가 나왔습니다. 당시 Docker 환경에서 그 경로가 파일 공유 범위에 들어 있지 않았습니다.

이 경우에는 컨테이너를 먼저 만들고 docker cp로 대역 파일을 복사한 뒤 시작했습니다. 내부 네트워크에서 API를 호출해, 합성 녹음 한 건에 HTTP 200과 DONE을 확인했습니다. 이 요청은 파일을 복사한 대역으로 실행 이미지가 실제 분석 경로까지 닿는지 보는 검사였습니다.

Mac의 파일 탐색기에서 확인한 공간과 경로는 각각 호스트의 상태를 보여 줍니다. 이 작업에서는 설치 공간 오류는 컨테이너 파일시스템에서, 마운트 오류는 Docker의 경로 공유 범위에서 확인해야 원인을 구분할 수 있었습니다.