devAlice
← Mac

Mac에서 Docker — Docker Desktop · OrbStack · colima 비교 + Apple Silicon 셋업

Apple Silicon Mac에서 컨테이너 런타임 선택지 3개 비교. 라이센스·성능·리소스 사용량·호환성 기준으로 무엇을 쓸지 결정하는 가이드.

Mac에서 Docker를 쓴다고 하면 보통 Docker Desktop을 먼저 떠올린다. 그런데 2021년 라이센스 변경(250명 이상 또는 매출 $10M 이상 회사는 유료) 이후 대안이 빠르게 자리 잡았다. OrbStackcolima가 양대 대안이고 둘 다 Apple Silicon에서 더 가볍다.

이 가이드는 Apple Silicon (M1~M4) + macOS 14+ 기준 세 런타임을 비교하고, 어떤 상황에 무엇을 골라야 하는지 결정 표를 제공한다. 본격 설치 절차는 선택한 런타임 섹션을 따라가면 된다.

TL;DR

런타임라이센스RAM (idle)시작 시간UIdocker composek8sApple 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-world

Docker 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-compose

docker 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:tag

5.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 version

8. 트러블슈팅

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 + WSL2docker-wsl2 — Native WSL docker 권장
팀 표준 강제회사가 정한 거

크로스 OS 팀이라면 docker-compose.yml·Dockerfile 만 표준화하면 런타임 차이는 거의 안 보인다.


참고

변경 이력

  • 2026-05-16: 첫 작성. Docker Desktop·OrbStack·colima 비교 + Apple Silicon 함정 + 마이그레이션 + 트러블슈팅 6종.

댓글