Docker Desktop은 최신 풀 스택 개발에 없어서는 안 될 도구이지만 macOS에서는 내부 디스크 스토리지가 부족한 것으로 악명 높습니다. 컨테이너가 호스트 커널을 직접 공유하는 Linux와 달리 macOS의 Docker는 가상 디스크 파일(Docker.raw)이 지원하는 가상화된 Linux VM 내에서 실행됩니다.
docker build를 실행할 때마다 Docker는 중간 빌드 레이어를 생성합니다. 몇 주간의 일일 기능 개발을 통해 이러한 레이어는 60GB~100GB의 BuildKit 캐시로 축적됩니다. 더 나쁜 것은 이미지를 삭제할 때 macOS 호스트 파일 시스템이 원시 디스크 이미지를 자동으로 다시 축소하지 않는다는 것입니다.
Docker System Prune과 Builder Prune의 차이점
많은 개발자가 패닉 상태에서 서둘러 docker system prune -a --volumes를 실행합니다. 이렇게 하지 마세요! 이 명령은 활성 데이터베이스 볼륨, 로컬 Redis 캐시 및 개발 비밀을 파괴합니다. 실제로 정리하고 싶은 것은 BuildKit 빌드 캐시입니다.
활성 컨테이너나 영구 볼륨을 건드리지 않고 빌드 레이어를 안전하게 제거하려면 docker builder prune -a --force를 실행하세요. 이는 데이터베이스 데이터를 완전히 안전하게 유지하면서 매달린 컴파일 단계를 삭제합니다.
MagicMacCleaner가 Docker 유지 관리를 자동화하는 방법
MagicMacCleaner는 로컬 Docker 데몬과 인터페이스하여 BuildKit 레이어, 매달려 있는 이미지 및 컨테이너 로그 파일을 검사합니다. 얼마나 많은 공간을 회수할 수 있는지 정확하게 표시하고 실행 중인 프로젝트에 위험이 전혀 없는 안전한 정리 지침을 발행합니다.
모바일 개발자 작업 흐름: 실제 테스트 iPhone에서 저장 공간 확보
Xcode 캐시, 시뮬레이터 런타임 및 빌드 컨테이너를 지워 Mac의 중요한 공간을 확보하는 반면, 실제 iOS 테스트 장치는 테스트 빌드, 충돌 아티팩트, 진단 화면 기록 및 QA 스크린샷으로 인해 빠르게 막히게 됩니다. 신속한 온디바이스 디버깅과 안정적인 배포를 위해서는 물리적 테스트 하드웨어를 간결하게 유지하는 것이 필수적입니다.
- Clearly Smart Storage Cleaner: 기가바이트 규모의 버그 보고서 화면 녹화를 압축하고, 중복된 테스트 미디어를 감지하고, 개발 및 개인 iPhone에서 복잡한 연락처를 정리합니다.
- Swipe Photo Cleaner: 손쉬운 스와이프-삭제 동작으로 수백 개의 UI 테스트 스크린샷과 데모 버스트를 빠르게 검토하고 제거합니다.
Apple 생태계 개발 팁: 테스트 기기 최적화
연결된 iOS 기기의 저장 공간이 부족하면 Xcode 무선 배포 시간 초과 및 LLDB 디버깅 오류가 발생할 수 있습니다. 정기적인 기기 내 미디어 정리로 알 수 없는 빌드 배포 오류를 방지합니다.
