메뉴
HN
Hacker News 21일 전

애플 컨테이너 전용 UI, Davit

IMP
7/10
핵심 요약

Davit는 애플의 오픈소스 컨테이너 엔진을 제어하기 위한 가볍고 네이티브한 macOS GUI 앱입니다. 무겁고 번거로운 Docker Desktop이나 Electron 기반 앱 없이도, 순수 SwiftUI로 제작되어 단 17MB 크기로 컨테이너, 이미지, 볼륨 등을 직관적으로 관리할 수 있게 해줍니다. Apple Silicon에 최적화된 애플의 자체 가상화 프레임워크를 활용하므로 맥(Mac) 개발자라면 주목할 만한 도구입니다.

번역된 본문

원문 제목: Show HN: Davit, a Apple Containers UI 소스: hackernews

여러분이 기대하는 모든 기능을 담았고, 불필요한 건 빼버렸습니다. Davit는 CLI가 사용하는 것과 동일한 XPC 경로를 통해 애플의 오픈소스 컨테이너 데몬(Container Daemon)과 직접 통신합니다. Electron도, 웹 뷰도, 자체 백그라운드 에이전트도 없습니다.

📦 컨테이너(Containers) 시작, 중지, 재시작 및 삭제를 지원하며, 각 항목마다 실시간 CPU, 메모리 및 IP를 확인할 수 있습니다. 팔로우(follow) 및 부트(boot) 모드를 지원하는 스트리밍 로그, 실시간 상태 차트, 원본 설정(Config) 검사 기능을 제공합니다.

🖥️ 원클릭 터미널(One-click terminal) CLI 없이 네이티브 API를 통해, 실행 중인 어떤 컨테이너에서든 Terminal이나 iTerm으로 바로 인터랙티브 셸(Interactive shell)을 열 수 있습니다.

🪄 수정 및 재생성(Edit & Recreate) 컨테이너는 변경 불가능(immutable)하므로, Davit는 기존 설정에서 이미지의 엔트리포인트와 환경 변수를 제외한 내용으로 새 컨테이너 설정을 미리 채워줍니다. 덕분에 단 몇 초 만에 포트, 환경 변수, 마운트 또는 리소스를 변경할 수 있습니다.

💿 이미지, 볼륨, 네트워크(Images, volumes, networks) 실시간 진행률과 함께 이미지를 풀(Pull)하고, 어떤 이미지에서든 실행하며, 태그를 지정하거나 삭제(prune)할 수 있습니다. 크기가 지정된 볼륨과 커스텀 서브넷을 생성할 수 있습니다. 삭제하기 전에 어떤 것이 사용 중인지 확인할 수 있습니다.

⚙️ 플랫폼 설정(Platform settings, editable) 새 컨테이너의 기본 CPU/메모리, 레지스트리, DNS, 빌더 리소스를 설정할 수 있습니다. 앱 내에서 편집하며, 플랫폼 자체의 설정 로더(Config loader)에 의해 검증된 후 깔끔한 TOML 오버라이드(Overrides)로 저장됩니다.

⬇️ 플랫폼 자동 설치(Installs the platform for you) 컨테이너 플랫폼이 설치되어 있지 않나요? Davit가 애플의 서명된 인스톨러를 다운로드하여 검증하고, 사용자의 라이브러리(Library)에 모든 것을 설정해 주므로 관리자 권한이 필요 없습니다. 원할 경우 컨테이너 CLI를 셸(Shell)에 추가할 수도 있습니다.

픽셀 단위로 완벽한 네이티브입니다. 전체가 SwiftUI로 제작되었습니다. 메뉴 막대(Menu bar)에서 빠른 작업을 수행할 수 있고, 필요할 때만 독(Dock) 아이콘을 띄우며, 렌더링을 위해 브라우저를 띄우지 않는 실시간 차트를 제공합니다.

Docker Desktop과 어떤 점이 다른가요? 애플의 자체 엔진입니다. 각 컨테이너는 애플의 가상화(Virtualization) 프레임워크를 통해 자체적인 가벼운 VM에서 실행됩니다. 1초 미만의 부팅 속도, 컨테이너별 개별 IP 주소를 제공하며 Apple Silicon에 최적화되어 있습니다.

철저한 OCI(OCI all the way) 규격을 따릅니다. Docker Hub, ghcr.io, quay.io 또는 모든 레지스트리에서 이미지를 가져올(Pull) 수 있습니다. 기존에 사용하던 이미지들을 그대로 사용할 수 있습니다.

사용자와 데몬 사이에 아무것도 두지 않습니다. Davit는 애플 자체 클라이언트 라이브러리를 연결하고 XPC로 직접 통신합니다. 소켓 심(Socket shim)도, 라이선스 동의서도, 계정도 필요하지 않습니다.

매우 가볍습니다. 단일 ~17MB 앱입니다.

원문 보기
원문 보기 (영어)
Everything you'd expect. Nothing you don't. Davit talks directly to Apple's open-source container daemon over XPC — the same wire path the CLI uses. No Electron, no web views, no background agents of its own. 📦 Containers Start, stop, restart and delete with live CPU, memory and IP on every row. Streaming logs with follow & boot mode, live stat charts, and raw config inspection. 🖥️ One-click terminal Open an interactive shell in any running container, straight into Terminal or iTerm — over the native API, no CLI needed. 🪄 Edit & Recreate Containers are immutable — so Davit prefills a new one from the old config with the image's entrypoint and env subtracted, letting you change ports, env vars, mounts or resources in seconds. 💿 Images, volumes, networks Pull with live progress, run from any image, tag, prune. Create sized volumes and custom subnets. See what's in use before you delete it. ⚙️ Platform settings, editable Default CPU/memory for new containers, registry, DNS, builder resources — edited in the app, validated by the platform's own config loader, saved as clean TOML overrides. ⬇️ Installs the platform for you No container platform installed? Davit downloads Apple's signed installer, verifies it, and sets everything up in your user Library — no administrator rights needed . It can add the container CLI to your shell, too. Native, down to the pixels. Built entirely in SwiftUI. Menu bar quick actions, a Dock icon only when you want one, and live charts that don't spin up a browser to render. How is this different from Docker Desktop? It's Apple's engine. Each container runs in its own lightweight VM via Apple's Virtualization framework — sub-second boots, per-container IP addresses, optimized for Apple silicon. OCI all the way. Pulls from Docker Hub, ghcr.io, quay.io or any registry. Your existing images just work. Nothing between you and the daemon. Davit links Apple's own client library and speaks XPC directly — no socket shims, no license agreements, no accounts. Tiny. A single ~17 MB app.