---
title: "애플 컨테이너 플랫폼용 오픈소스 UI, Davit 등장"
published: 2026-07-07T18:44:29.000Z
canonical: https://jeff.news/article/4795
---
# 애플 컨테이너 플랫폼용 오픈소스 UI, Davit 등장

Davit은 애플의 컨테이너 플랫폼을 위한 무료 오픈소스 SwiftUI 앱이다. 컨테이너 실행, 로그, 파일 탐색, Compose 가져오기, Dockerfile 빌드, 레지스트리 로그인까지 GUI에서 처리하며, Docker Desktop이나 OrbStack과 다른 애플 네이티브 플랫폼 접근을 전면에 내세운다.

- Davit은 애플 컨테이너 플랫폼을 위한 무료 오픈소스 UI임.
  - 네이티브 SwiftUI 앱이고, Electron이 아니라는 점을 강조함.
  - 라이선스는 MIT이며, 릴리스는 Apple Developer ID로 서명되고 공증되어 Gatekeeper 경고 없이 열리도록 했다고 설명함.

- 기본 컨테이너 조작은 꽤 촘촘하게 들어가 있음.
  - 시작, 중지, 재시작, 삭제를 할 수 있고 각 행에서 CPU, 메모리, IP를 바로 보여줌.
  - 로그는 스트리밍으로 볼 수 있고, follow 모드와 부팅 로그 모드도 지원함.
  - 원시 설정 확인, 실시간 통계 차트까지 제공해서 단순 런처보다는 운영 도구에 가까움.

- 실행 중인 컨테이너 안으로 들어가는 흐름도 GUI화함.
  - Terminal이나 iTerm에서 바로 인터랙티브 셸을 열 수 있음.
  - CLI를 직접 치지 않고 네이티브 API로 붙는다고 설명함.
  - 컨테이너 파일 시스템도 앱에서 탐색하고, 파일 다운로드·업로드·삭제까지 할 수 있음. `docker cp` 주문 외우기 싫은 사람에게 꽤 직접적인 기능임.

- 컨테이너 수정 방식은 'Edit & Recreate'로 잡혀 있음.
  - 컨테이너는 불변이라는 전제 아래, 기존 설정을 바탕으로 새 컨테이너를 미리 채워줌.
  - 이미지의 엔트리포인트와 환경 변수는 빼고, 포트·환경 변수·마운트·리소스 같은 사용자가 바꾸고 싶은 부분을 빠르게 수정하게 해줌.
  - 기존 컨테이너를 제자리에서 고치는 척하지 않고, 새 설정으로 다시 만드는 모델을 UI에 녹인 셈임.

- Compose 파일도 가져올 수 있지만, '지원되는 부분집합'이라는 선을 분명히 그음.
  - `docker-compose.yml`을 열면 서비스 순서, 볼륨, 네트워크, 서비스별 동등한 CLI 명령을 미리 보여줌.
  - 지원 항목은 image, ports, environment, volumes, networks, resource limits, command, user, working_dir임.
  - `restart`, `healthcheck`, `build`처럼 처리하지 못하는 항목은 조용히 무시하지 않고 실행 전 경고로 보여준다고 함.

> [!IMPORTANT]
> 애플 컨테이너 플랫폼에는 네이티브 Compose가 없음. Davit은 Compose를 그대로 위임하는 게 아니라, 파일을 해석해서 스택을 직접 오케스트레이션하는 방식임.

- 이미지 빌드도 앱 안에서 처리함.
  - 컨텍스트 폴더와 Dockerfile을 고르고 태그와 빌드 인자를 넣으면, Davit이 애플의 BuildKit 기반 빌더를 직접 구동함.
  - 빌더가 꺼져 있으면 앱이 시작해주고, 빌드된 이미지는 라이브러리에 들어감.
  - 단 현재 플랫폼 제한이 있음. Dockerfile이 16KiB를 넘으면 거부되고, 빌드 컨텍스트는 `/tmp` 아래에 둘 수 없음.

- 레지스트리와 이미지 관리 기능도 일반 개발 흐름을 겨냥함.
  - Docker Hub, ghcr.io, quay.io, 임의의 OCI 레지스트리에 로그인할 수 있음.
  - 자격 증명은 저장 전 검증되고 macOS 로그인 키체인에 저장됨.
  - CLI와도 공유되므로 Davit에서 로그인한 레지스트리는 CLI pull에서도 쓸 수 있고, 반대도 가능함.
  - Docker Hub는 비밀번호 대신 액세스 토큰 사용을 권장함.

- Docker Desktop이나 OrbStack과의 차이는 실행 모델에서 갈림.
  - Docker Desktop은 컨테이너가 없어도 큰 리눅스 VM 하나를 계속 띄워두는 방식이라고 비교함.
  - 애플 플랫폼은 컨테이너별로 별도 경량 VM을 띄우고, 컨테이너가 멈추면 VM도 내리는 모델임.
  - 아무것도 실행하지 않을 때 플랫폼 백그라운드 서비스는 약 25MB 수준으로 유휴 상태라고 설명함.

- OrbStack과 비교하면 Davit 쪽은 '빠르다'보다 '애플 네이티브와 무료 오픈소스'가 포인트임.
  - OrbStack은 자체 Docker 호환 가상화 레이어를 가진 상용 앱이고, 매우 빠르며 Docker CLI/API 호환성과 툴링 지원이 더 넓다고 인정함.
  - Davit은 애플 컨테이너 플랫폼 위의 무료 오픈소스 UI이고, 컨테이너별 IP, 브리지 네트워크, 더 강한 컨테이너 간 격리, 계정·라이선스 없음이 장점으로 제시됨.
  - 둘 다 표준 OCI 이미지는 실행할 수 있음.

- 네트워크 쪽도 Mac에서 직접 접근하는 사용성을 챙김.
  - `sudo container system dns create test`를 한 번 실행하고 기본 도메인으로 설정하면 `web.test` 같은 이름으로 컨테이너에 접근할 수 있음.
  - 각 컨테이너는 자체 IP도 받기 때문에 직접 IP 접근도 가능함.
  - 게스트 안에서 Avahi를 돌리면 브리지 네트워크 위에서 `.local` mDNS 별칭을 브로드캐스트할 수도 있음.

- 설치 경험도 꽤 신경 쓴 편임.
  - 애플 컨테이너 플랫폼이 없으면 Davit이 애플의 서명된 설치 파일을 다운로드하고 검증한 뒤 사용자 Library에 설치함.
  - 관리자 권한은 필요 없다고 설명함.
  - 원하면 컨테이너 CLI를 셸에 추가하는 것도 설정에서 할 수 있음.

---

## 기술 맥락

- Davit이 고른 기술적 방향은 Docker Desktop을 흉내 내는 독립 런타임이 아니라, 애플 컨테이너 플랫폼을 그대로 쓰는 UI예요. 그래서 컨테이너 실행, 파일 탐색, 이미지 빌드, 레지스트리 로그인 같은 기능을 앱에서 제공하되, 실제 실행 엔진은 애플 쪽 플랫폼에 기대는 구조예요.

- 이 선택의 이유는 macOS에서 항상 켜진 대형 VM을 피하고 싶다는 문제의식과 연결돼요. 애플 플랫폼은 컨테이너마다 경량 VM을 띄우고 멈추면 내리는 모델이라, 아무것도 실행하지 않을 때 백그라운드 서비스가 약 25MB 정도로 줄어든다고 설명해요. 대신 Docker 호환 생태계는 OrbStack 같은 도구가 여전히 더 넓어요.

- Compose 지원도 같은 맥락이에요. 애플 플랫폼에 네이티브 Compose가 없으니 Davit이 `docker-compose.yml`을 읽고 지원 가능한 항목만 직접 오케스트레이션해요. 중요한 건 지원하지 못하는 `restart`, `healthcheck`, `build` 같은 항목을 조용히 버리지 않고 경고로 보여준다는 점이에요.

- 빌드 쪽에서는 애플의 BuildKit 기반 빌더를 직접 호출해요. 이 덕분에 GUI에서 Dockerfile 빌드까지 이어지지만, 현재는 Dockerfile 16KiB 제한이나 `/tmp` 아래 컨텍스트 불가 같은 플랫폼 제약도 그대로 따라와요. Davit의 한계라기보다 기반 플랫폼의 성숙도를 같이 봐야 하는 부분이에요.

- 결국 Davit은 '가장 호환성 좋은 Docker 대체재'라기보다 '애플 컨테이너 플랫폼을 실제로 써볼 만하게 만드는 관리 UI'에 가까워요. Mac 개발자가 Docker Desktop의 상주 VM 비용, OrbStack의 상용 모델, 애플 네이티브 플랫폼 사이에서 선택할 때 비교할 축이 하나 더 생긴 셈이에요.

## 핵심 포인트

- Davit은 애플 컨테이너 플랫폼을 직접 다루는 네이티브 SwiftUI 앱이다
- 컨테이너별 CPU, 메모리, IP, 로그, 파일 시스템, 설정을 앱에서 확인하고 조작할 수 있다
- Docker Desktop처럼 항상 켜진 대형 리눅스 VM이 아니라 컨테이너별 경량 VM 모델을 활용한다
- Compose는 일부 기능만 지원하며 지원하지 않는 항목은 실행 전에 경고로 보여준다
- Dockerfile 16KiB 초과 거부, /tmp 아래 빌드 컨텍스트 불가 같은 현재 플랫폼 제한도 있다

## 인사이트

Davit의 재미있는 지점은 '도커 대체 UI'라기보다 애플이 밀고 있는 컨테이너 런타임의 실제 사용성을 메우는 앱이라는 점이다. Mac 개발 환경에서 Docker Desktop, OrbStack, Apple Containers 사이의 선택지가 더 현실적인 비교 구도로 들어오는 신호로 볼 만하다.
