Docker Desktop 완전 가이드 — 표준이 된 도구, 그 강점과 라이선스 이슈까지




1부에서 컨테이너의 개념과 도구 생태계를 큰 지도로 그렸다면, 2부는 그 지도의 한 칸씩을 깊이 파고드는 시간입니다. 첫 번째 도구는 Docker Desktop — 컨테이너 대중화의 일등공신이자, 여전히 사실상 표준의 자리에 있는 도구입니다.

이 가이드는 macOS(Apple Silicon)를 기준으로 작성되었습니다. 설치부터 기본 사용법, 실전 팁, 그리고 라이선스 이슈까지 — Docker Desktop을 처음 쓰거나, 다시 한 번 정리하고 싶은 분 모두를 위한 가이드입니다.

1. Docker Desktop 소개

Docker Desktop은 Docker Inc.가 만든 데스크톱용 컨테이너 플랫폼입니다. macOS·Windows·Linux에서 동작하며, 컨테이너 엔진(Docker Engine), CLI 도구, GUI, Kubernetes, Extensions 시스템을 하나로 묶은 올인원 패키지입니다.

이름이 워낙 유명해서 “Docker = Docker Desktop”으로 오해하기 쉽지만, 둘은 다릅니다. Docker Engine(컨테이너 런타임)은 리눅스에서 직접 동작하는 코어이고, Docker Desktop은 macOS·Windows에서 그 엔진을 쓸 수 있게 가상머신과 GUI를 얹은 제품입니다.

탄생 배경

도커는 2013년 첫 공개 당시부터 “한 번 빌드하면 어디서나 실행된다(Build once, run anywhere)”는 슬로건으로 컨테이너를 대중화시켰습니다. 초기에는 리눅스 전용이었지만, macOS·Windows 개발자들의 수요가 폭발적으로 늘면서 데스크톱용 패키지가 등장했습니다. 그것이 Docker Desktop의 시작입니다.

내부적으로는 macOS·Windows에서 경량 리눅스 VM을 띄우고, 그 안에서 Docker Engine을 동작시킵니다. 사용자는 이 VM의 존재를 거의 의식하지 못하고 마치 호스트 OS에서 도커가 직접 도는 것처럼 쓸 수 있습니다.

2. 특징과 강점/약점

강점

  • 압도적인 사용자 기반과 자료: 문제가 생기면 검색하면 거의 다 답이 나옵니다. 입문자에게 진입 장벽이 가장 낮습니다.
  • 올인원 패키지: Docker Engine, CLI, GUI, Kubernetes, Compose가 한 번의 설치로 모두 들어옵니다.
  • GUI 품질: 컨테이너·이미지·볼륨·네트워크를 시각적으로 관리할 수 있고, 로그·터미널·자원 사용량도 한눈에 보입니다.
  • Extensions 생태계: Docker Desktop 안에서 동작하는 플러그인들로 다양한 도구를 통합할 수 있습니다.
  • Kubernetes 내장: 설정에서 토글 한 번으로 단일 노드 K8s 클러스터를 띄울 수 있습니다.

약점

  • 라이선스: 직원 250명 이상 또는 연 매출 1천만 달러 이상인 기업은 유료 구독이 필요합니다 (자세한 내용은 뒤에서).
  • 자원 소모: VM 기반이라 메모리·CPU 사용량이 큰 편입니다. 다른 도구와 비교하면 더 두드러집니다.
  • 파일 I/O 성능: macOS에서 호스트와 컨테이너 간 볼륨 마운트 시 I/O 속도가 떨어진다는 평가가 있습니다. 특히 node_modules 같은 대량의 작은 파일을 다룰 때 체감됩니다.

3. 설치 방법 (macOS, Apple Silicon)

설치 방법은 두 가지입니다.

방법 1. Homebrew (권장)

brew install --cask docker

설치 후 Applications 폴더에서 Docker.app을 실행하면 됩니다. 첫 실행 시 권한 요청이 몇 번 뜨는데 모두 허용해주면 됩니다.

방법 2. 공식 설치 파일

docker.com/products/docker-desktop에서 Apple Silicon용 .dmg 파일을 받아 설치합니다.

설치 확인

docker --version
docker compose version

다음과 같이 출력되면 정상입니다.

Docker version 27.x.x, build xxxxxxx
Docker Compose version v2.x.x

첫 실행 시 설정 권장

Docker Desktop을 실행하면 상단 메뉴바에 고래 아이콘이 생깁니다. 설정(Settings)에서 다음을 확인해두는 것을 권장합니다.

  • Resources → CPUs / Memory: 기본값은 보통 적당하지만, 무거운 컨테이너를 돌릴 거라면 메모리를 6~8GB 정도로 올려두는 게 편합니다.
  • General → Use Virtualization framework: Apple Silicon에서는 활성화되어 있어야 합니다.
  • General → VirtioFS: 파일 공유 성능을 위해 활성화 권장 (기본값).

4. 기본 사용법

Docker Desktop을 깔면 따라오는 핵심 명령어들을 살펴보겠습니다. 더 깊은 명령은 공식 문서를 참고하시고, 여기서는 일상에서 가장 자주 쓰는 것 위주로 정리합니다.

컨테이너 실행

# nginx 컨테이너를 백그라운드로 실행, 호스트 8080 → 컨테이너 80 포트 매핑
docker run -d -p 8080:80 --name web nginx

# 실행 중인 컨테이너 확인
docker ps

# 모든 컨테이너 (중지된 것 포함) 확인
docker ps -a

# 컨테이너 로그 확인
docker logs web

# 컨테이너 안으로 셸 접속
docker exec -it web /bin/bash

# 컨테이너 중지·시작·재시작
docker stop web
docker start web
docker restart web

# 컨테이너 삭제
docker rm web        # 중지된 것만
docker rm -f web     # 강제 삭제

이미지 관리

# 이미지 검색 (Docker Hub)
docker search nginx

# 이미지 받기
docker pull nginx:latest

# 보유 이미지 목록
docker images

# 이미지 삭제
docker rmi nginx:latest

# 사용하지 않는 이미지·컨테이너·네트워크 일괄 정리
docker system prune
docker system prune -a   # 사용하지 않는 이미지까지 모두 삭제

이미지 빌드

# 현재 디렉터리의 Dockerfile로 이미지 빌드
docker build -t myapp:1.0 .

# Apple Silicon에서 amd64 이미지 빌드 (CI 환경 호환용)
docker build --platform linux/amd64 -t myapp:1.0 .

Docker Compose

여러 컨테이너를 한 번에 다룰 때 씁니다. docker-compose.yml 파일을 만들고:

services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: secret
    volumes:
      - dbdata:/var/lib/postgresql/data

volumes:
  dbdata:
# 서비스 시작 (백그라운드)
docker compose up -d

# 로그 확인
docker compose logs -f

# 서비스 중지·삭제
docker compose down

# 볼륨까지 삭제
docker compose down -v

GUI에서 자주 쓰는 기능

Docker Desktop GUI에서 가장 유용한 화면은 다음과 같습니다.

  • Containers: 실행 중인 컨테이너 목록, 클릭하면 로그·터미널·파일·환경변수 한 화면에서 확인 가능
  • Images: 보유 이미지 목록, “Run” 버튼으로 GUI에서 바로 컨테이너 실행
  • Volumes: 영속 데이터 관리
  • Dev Environments: Git 저장소 기반의 컨테이너 개발 환경 (선택 기능)

5. 실전 팁

메모리 사용량이 너무 크다면

Docker Desktop이 Mac 메모리를 너무 많이 쓰는 것 같다면 다음을 점검합니다.

  1. Settings → Resources → Memory에서 할당량 줄이기 (기본 8GB → 4GB 등)
  2. 사용하지 않는 컨테이너·이미지 정리: docker system prune -a
  3. Settings → Resources → File Sharing에서 불필요한 폴더 제거

파일 I/O가 느릴 때

macOS에서 코드 폴더를 볼륨 마운트할 때 빌드가 느려지는 경우가 있습니다. 다음 방법을 고려하세요.

  • VirtioFS 활성화 (Settings → General에서 확인)
  • 마운트 옵션에 :cached 추가 (-v $(pwd):/app:cached)
  • 정말 무거운 프로젝트라면 OrbStack이나 Colima 검토 (다음 편들에서 다룸)

Apple Silicon에서 amd64 이미지가 필요할 때

x86 전용 이미지를 받거나 빌드해야 할 때가 있습니다.

# 실행 시 플랫폼 지정
docker run --platform linux/amd64 some-image

# 빌드 시 플랫폼 지정
docker build --platform linux/amd64 -t myapp .

# 멀티 아키텍처 빌드 (buildx)
docker buildx build --platform linux/amd64,linux/arm64 -t myapp .

자주 쓰는 명령어 alias

~/.zshrc~/.bashrc에 등록해두면 편합니다.

alias dps='docker ps'
alias dpsa='docker ps -a'
alias dimg='docker images'
alias dprune='docker system prune -af'
alias dc='docker compose'

Docker Desktop 자동 시작 끄기

기본적으로 macOS 로그인 시 자동 실행됩니다. 무거우면 끄는 게 좋습니다.

Settings → General → Start Docker Desktop when you sign in to your computer 체크 해제

6. 다른 OS에서는?

  • Linux: Docker Desktop도 지원하지만, 대부분의 리눅스 사용자는 Docker Engine을 직접 설치합니다 (apt install docker-ce 등). 라이선스 이슈와 무관하게 Engine을 직접 쓸 수 있고 더 가볍습니다.
  • Windows: WSL2 백엔드를 사용해 동작합니다. macOS와 비교해 성능 면에서 큰 차이는 없지만, 메모리 자원 분배 방식이 조금 다릅니다.

7. 라이선스 — 반드시 확인할 것

이 부분은 Docker Desktop을 회사에서 쓸 때 반드시 짚어야 합니다.

2021년 8월부로 정책이 바뀌었고, 다음에 해당하는 조직은 유료 Docker 구독(Pro/Team/Business)이 필요합니다.

  • 직원 수 250명 이상, 또는
  • 연 매출 1천만 달러 이상

이 조건에 해당하지 않는 소규모 기업·개인 개발자·교육·오픈소스 프로젝트는 무료로 사용할 수 있습니다. 다만 정확한 조건은 시간이 지나며 바뀔 수 있으니, 현재 회사가 이 조건에 가까운 규모라면 반드시 공식 라이선스 페이지에서 최신 정책을 확인하시기 바랍니다.

라이선스가 부담스럽다면 Rancher Desktop, Colima, Podman이 합법적인 무료 대안입니다. 이 세 도구는 다음 편들에서 다룹니다.

8. 어떤 사용자에게 적합한가

Docker Desktop을 추천하는 경우:

  • 컨테이너를 처음 배우는 입문자 — 자료가 가장 풍부하고 GUI가 직관적입니다.
  • GUI 기반 관리가 편한 개발자 — 터미널보다 시각적 도구를 선호한다면 거의 1순위입니다.
  • 소규모 회사 / 개인 개발자 — 라이선스 부담이 없고, 가장 무난한 선택입니다.
  • 팀 표준이 Docker Desktop인 경우 — 협업 편의를 위해 따라가는 것이 합리적입니다.

다른 도구를 고려해야 하는 경우:

  • 회사 규모가 커서 라이선스 비용이 부담스럽다 → Rancher Desktop, Colima, Podman
  • macOS에서 더 빠르고 가벼운 환경이 필요하다 → OrbStack, Colima
  • 로컬에서 Kubernetes를 자주 다룬다 → Rancher Desktop
  • 보안·멀티 유저 환경이 중요하다 → Podman

정리

  • Docker Desktop은 올인원 컨테이너 패키지로, 사실상 표준이지만 라이선스 이슈가 있다
  • 설치는 brew install --cask docker 한 줄이면 끝
  • 핵심은 docker run, docker ps, docker compose up, docker system prune 정도만 익혀도 일상 업무는 충분
  • macOS에서는 메모리 할당, VirtioFS, amd64 호환 빌드 같은 설정을 알아두면 편리
  • 라이선스 조건(250명/1천만 달러) 은 회사에서 쓸 때 반드시 확인

다음 편에서는 Docker Desktop의 가장 강력한 무료 대안 중 하나, Colima를 다룹니다. GUI를 버리고 CLI에 집중한 결과 얻은 가벼움 — 그 매력을 본격적으로 살펴보겠습니다.




댓글 남기기