Mac에서 Docker — Docker Desktop · OrbStack · colima 비교 + Apple Silicon 셋업
Apple Silicon Mac에서 컨테이너 런타임 선택지 3개 비교. 라이센스·성능·리소스 사용량·호환성 기준으로 무엇을 쓸지 결정하는 가이드.
Mac에서 Docker를 쓴다고 하면 보통 Docker Desktop을 먼저 떠올린다. 그런데 2021년 라이센스 변경(250명 이상 또는 매출 $10M 이상 회사는 유료) 이후 대안이 빠르게 자리 잡았다. OrbStack과 colima가 양대 대안이고 둘 다 Apple Silicon에서 더 가볍다.
이 가이드는 Apple Silicon (M1~M4) + macOS 14+ 기준 세 런타임을 비교하고, 어떤 상황에 무엇을 골라야 하는지 결정 표를 제공한다. 본격 설치 절차는 선택한 런타임 섹션을 따라가면 된다.
TL;DR
| 런타임 | 라이센스 | RAM (idle) | 시작 시간 | UI | docker compose | k8s | Apple Silicon ARM |
|---|---|---|---|---|---|---|---|
| Docker Desktop | 큰 회사 유료 | ~2GB | ~10s | ✅ | ✅ | ✅ | ✅ |
| OrbStack | 개인 무료, 회사 유료 | ~500MB | ~2s | ✅ | ✅ | ✅ | ✅ (네이티브) |
| colima | 오픈소스 (MIT) | ~600MB | ~5s | ❌ CLI | ✅ | ✅ (옵션) | ✅ |
- 회사 정책 OK + UI 원함 → Docker Desktop
- 개인 머신 + 빠르고 가벼움 우선 → OrbStack (강력 추천)
- 완전 무료 + CLI만 → colima
사전 조건
- macOS 14+ + Apple Silicon (M1~M4) 권장
- Homebrew (Mac 초기 셋업)
- 16GB RAM 이상 권장 (8GB는 빌드 자주 멈춤)
1. 결정 표 — 어떤 걸 골라야 하나
Docker Desktop이 필요한 경우
- Kubernetes UI를 GUI에서 봐야 함 — Docker Desktop의 k8s 탭이 가장 단순
- 회사 표준 — 팀 전체가 Docker Desktop 쓰는데 본인만 다른 도구 → 트러블슈팅 비용
- Windows·Mac 혼용 팀 — Docker Desktop이 가장 일관된 경험
OrbStack을 골라야 하는 경우
- 개인 머신 + 가성비 — 무료 (개인용), Docker Desktop보다 4배 빠름
- Linux machine도 같이 필요 — OrbStack은 Docker + 경량 Linux VM 통합
- 메모리 부족 머신 — idle 500MB
colima를 골라야 하는 경우
- 상용 라이센스 회피 — MIT 오픈소스. 회사 사용 OK
- 자동화 친화적 — CLI 전용, 설정 파일로 모든 제어
- CI/dev container 호환성 — Lima 기반이라 macOS 통합 잘 됨
결정 못 하겠으면 OrbStack 30일 무료 평가부터. 가장 부드러운 경험.
2. Docker Desktop 셋업 — 10분
2.1 설치
brew install --cask docker또는 docker.com 직접 다운로드. Apple Silicon용 빌드 자동 선택.
2.2 첫 실행
Cmd + Space → Docker 또는 Spotlight. 메뉴바에 🐳 아이콘이 떴다면 시작 완료.
docker --version # Docker version 27.x.x
docker run hello-world # 표준 헬로월드 컨테이너2.3 리소스 설정 (필수)
Docker Desktop → Settings → Resources:
- CPUs: 호스트 CPU의 50% (8코어 머신이면 4)
- Memory: 호스트 RAM의 25–50% (16GB 머신이면 4–8GB)
- Disk image size: 60GB+ (이미지 누적 빠름)
기본값으로 두면 idle 시 ~2GB 잡아먹는다. 위 설정으로 줄여라.
2.4 라이센스 주의
| 조직 | 라이센스 |
|---|---|
| 250명 미만 AND 매출 $10M 미만 | 무료 (개인 포함) |
| 그 이상 | 유료 ($9/seat/월~) |
회사 정책 확인 후 사용. 공식 라이센스 페이지.
3. OrbStack 셋업 — 5분
3.1 설치
brew install --cask orbstack또는 orbstack.dev.
3.2 첫 실행
OrbStack 앱 실행 → 라이센스 동의 → Docker 명령 사용 가능.
docker --version # Docker version 27.x.x (OrbStack 번들)
docker run hello-worldDocker Desktop과 동시 설치 시 PATH 충돌. OrbStack 사용 전 Docker Desktop 종료.
3.3 OrbStack만의 강점
Linux 머신 (선택) — 경량 Ubuntu VM을 1초 만에 띄움. SSH 가능.
orb create ubuntu my-ubuntu
orb -m my-ubuntu # SSH 진입파일 시스템 통합 — ~/OrbStack/ 에 컨테이너 파일이 직접 mount. code ~/OrbStack/docker/... 가능.
리소스 자동 조정 — 명시적 RAM 설정 없음. 사용량에 따라 동적 확장/축소.
3.4 라이센스
| 사용 | 가격 |
|---|---|
| 개인 (학습·오픈소스) | 무료 |
| 회사 (1인+) | $8/월 (Pro) — Docker Desktop보다 저렴 |
4. colima 셋업 — 10분
4.1 설치
brew install colima docker docker-composedocker CLI는 별도. colima는 백엔드 VM만 제공.
4.2 시작
colima start
# colima starts a Lima VM, downloads ~500MB on first run
docker --version
docker run hello-world기본 리소스: 2 CPU, 2GB RAM, 60GB disk. 변경:
colima start --cpu 4 --memory 8 --disk 100~/.colima/default/colima.yaml 에 영구 저장.
4.3 라이프사이클
colima status # 실행 상태
colima stop # 정지 (재부팅 시 다시 start 필요)
colima delete # VM 자체 삭제 (이미지·볼륨 모두 삭제됨)4.4 Kubernetes (선택)
colima start --kubernetes
kubectl get nodes # colima 노드 1개k3s 기반. 가볍지만 production 흉내용으론 부족.
5. 공통 — Apple Silicon에서 함정
5.1 ARM 이미지 vs AMD64 이미지
대부분의 공식 이미지(node, python, nginx)는 이미 ARM64 빌드 제공. 가끔 만나는 경고:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8)
해결:
# 1) 같은 이미지의 ARM 태그 찾기
docker pull --platform linux/arm64 myimage:tag
# 2) 어쩔 수 없이 AMD64 강제 (Rosetta로 에뮬레이션 — 느림)
docker run --platform linux/amd64 myimage:tag5.2 볼륨 마운트 성능
macOS 파일시스템 → Linux 컨테이너 mount는 모든 런타임에서 느리다. 큰 node_modules, Rails 앱 등에서 체감 큼.
- OrbStack: 가장 빠름 (Virtio-fs 최적화)
- Docker Desktop: VirtioFS 옵션 켜기 (Settings → General → "Use Virtio-fs")
- colima:
colima start --mount-type virtiofs(Lima 1.x+)
또는 개발 컨테이너 안에 소스 두기(docker volume) — 빠르지만 IDE 통합 복잡.
5.3 buildx 멀티 아키텍처 빌드
CI에서 AMD64·ARM64 둘 다 푸시할 때:
docker buildx create --use --name multiarch
docker buildx build --platform linux/amd64,linux/arm64 -t myapp:latest --push .Docker Desktop·OrbStack은 buildx 번들. colima는 별도 설정 필요할 수 있음.
6. 마이그레이션 — Docker Desktop → OrbStack
이미지·볼륨은 런타임마다 분리되어 있어 자동 마이그레이션은 불가. 다음 순서:
# 1. Docker Desktop에서 중요 이미지/볼륨 export
docker save myimage:tag -o myimage.tar
docker run --rm -v mydata:/data -v $(pwd):/backup alpine \
tar czf /backup/mydata.tar.gz -C /data .
# 2. Docker Desktop 종료
osascript -e 'quit app "Docker"'
# 3. OrbStack 시작 후 import
docker load -i myimage.tar
docker run --rm -v mydata:/data -v $(pwd):/backup alpine \
tar xzf /backup/mydata.tar.gz -C /data대부분은 마이그레이션 부담을 안 진다. 새 OrbStack에서 docker compose up 다시 빌드하면 끝.
7. 검증
선택한 런타임에서 모두 성공해야 함:
# 1. 기본
docker --version
docker run hello-world
# 2. 컨테이너 실행 + 포트
docker run -d --name nginx -p 8080:80 nginx
curl http://localhost:8080
docker stop nginx && docker rm nginx
# 3. 볼륨 mount
mkdir -p /tmp/dockertest && echo "hello" > /tmp/dockertest/test.txt
docker run --rm -v /tmp/dockertest:/data alpine cat /data/test.txt
# 4. compose
docker compose version
# 5. buildx
docker buildx version8. 트러블슈팅
Cannot connect to the Docker daemon
- 런타임이 실행 중인가? Docker Desktop 메뉴바 아이콘,
orb status,colima status docker context ls— 활성 context가 옳은가- 여러 런타임 혼용 시
docker context use default또는colima등 명시
- 여러 런타임 혼용 시
이미지 빌드 너무 느림
- BuildKit 활성화 확인:
DOCKER_BUILDKIT=1(Docker 23+는 기본) - 캐시 활용:
Dockerfile의 변경 자주 일어나는 줄을 아래로 .dockerignore로 컨텍스트 크기 줄이기 (.git,node_modules제외)
docker-compose vs docker compose
- 신규(v2):
docker compose(공백). 권장 - 구버전(v1):
docker-compose(하이픈). 곧 EOL - 모든 런타임에서 v2 번들. v1 alias가 필요하면:
alias docker-compose='docker compose'
docker run 후 메모리 누수
- macOS Activity Monitor →
com.docker.virtualization또는OrbStack Helper가 비정상 메모리 사용 - 런타임 재시작: Docker Desktop "Restart" /
orb restart/colima restart
Volume mount가 빈 디렉토리로 보임
- 호스트 경로 권한 확인: macOS의 Documents, Desktop, Downloads는 별도 권한 필요
- System Settings → Privacy & Security → Files and Folders → 해당 런타임에 권한 부여
permission denied (컨테이너 내부에서 mount된 파일 쓰기)
- 컨테이너 사용자 UID와 호스트 UID 불일치
- 해결:
docker run -u $(id -u):$(id -g) ...또는 Dockerfile에USER명시
9. 비교 — Docker Desktop vs WSL2 (Mac vs Windows 사용자)
같은 팀 안에 Mac과 Windows가 섞여 있을 때 자주 받는 질문.
| 상황 | 권장 |
|---|---|
| Mac 개인 머신 | OrbStack |
| Mac 회사 머신 (대기업) | Docker Desktop (라이센스 보유 시) 또는 colima |
| Windows + WSL2 | docker-wsl2 — Native WSL docker 권장 |
| 팀 표준 강제 | 회사가 정한 거 |
크로스 OS 팀이라면 docker-compose.yml·Dockerfile 만 표준화하면 런타임 차이는 거의 안 보인다.
참고
- Mac 초기 셋업 — Homebrew 사전 셋업
- Windows에서 Docker (WSL2) — 크로스 OS 팀 시 비교용
- OrbStack 공식
- colima GitHub
- Docker Desktop 라이센스 — 대기업 사용 전 확인 필수
변경 이력
- 2026-05-16: 첫 작성. Docker Desktop·OrbStack·colima 비교 + Apple Silicon 함정 + 마이그레이션 + 트러블슈팅 6종.