Dockyard는 더 빠른 Lazydocker이며, Rust로 작성되었습니다 (당연히 그렇죠)

발행: (2026년 2월 5일 오후 08:52 GMT+9)
6 분 소요
원문: Dev.to

Source: Dev.to

저는 Lazy Docker를 사용하면서 완전히 만족했습니다. 작동합니다. 안정적입니다. Docker TUI가 해야 할 일을 정확히 수행합니다.

그런데, 무분별한 양의 카페인을 섭취한 뒤, 아무도 필요로 하지 않을 생각이 떠올랐습니다:

“Rust로 작성된다면 더 좋을 것 같다.”

해결할 문제도 없었고, 충족되지 않은 필요도 없었으며, 사용자 요청도 없었습니다. 그럼에도 불구하고 저는 만들었습니다.

이것이 Dockyard입니다.

Dockyard TUI

아무도 겪지 않은 문제

Lazy Docker는 좋은 도구이지만, 충분히 오래 바라보면 문제가 있다고 스스로 설득할 수 있습니다:

  • Go 언어로 작성되었습니다
  • 콜드 스타트는 약 247 ms가 걸립니다
  • 40 MB 정도의 메모리를 사용할 수 있습니다
  • 바이너리 크기는 13 MB입니다

이것이 나쁜 것은 아닙니다. 이것이 중요한 것도 아닙니다. 그래도 저는 신경 쓰기로 했습니다.

Dockyard

3주 동안 빌림 검사기와 논쟁한 끝에 Dockyard를 만들게 되었습니다. Dockyard는 Lazy Docker가 하는 일을 약 80 % 정도 수행하는 Docker 컨테이너 관리자이며, Rust로 작성되어 눈에 띄게 빠르게 시작됩니다.

시작 시간

도구콜드 시작웜 시작
Lazy Docker~247 ms~89 ms
Dockyard~31 ms~12 ms

Dockyard는 충분히 빨리 실행되기 때문에 “아무 것도 안 한 건가?” 싶을 정도입니다.
실제 영향: Docker TUI를 하루에 10번, 1년 동안 열면 43 초 정도를 절약합니다. 인생을 바꾸기엔 부족하지만, 뭔가 맞는 느낌이 듭니다.

메모리 사용량

  • Lazy Docker: ~38–41 MB
  • Dockyard: ~6–8 MB

대략 82 % 감소에 해당합니다. 최신 머신에서는 큰 차이는 아니지만, 가능할 때마다 언급하고 싶습니다.

바이너리 크기

  • Lazy Docker: ~13 MB
  • Dockyard: ~2.7 MB (스트립됨)

디스크 용량은 충분하니 크게 중요하지는 않지만, 이를 위해 3일을 투자했습니다.

확실히 중요한 개발 지표

지표Lazy DockerDockyard
첫 성공적인 빌드까지 걸린 시간3주
수명 주석을 위해 작성된 라인 수0847
Rust를 가볍게 언급할 수 있는 능력없음과도함
삶의 질을 높이는 결정합리적의문스러움

What Dockyard actually does

  • 컨테이너, 이미지, 볼륨 목록 표시
  • 컨테이너 시작, 정지, 제거
  • 이미지 풀 및 제거
  • bollard를 사용해 Docker API와 직접 통신
  • 빠르게 시작하고, 작게 유지하며, 깔끔하게 종료
  • 가비지 컬렉터 없이 메모리 안전
  • 스레드가 없어도 스레드 안전
  • 아직 구현되지 않은 동시성에도 두려움 없음

아직 하지 않는 것 (yet)

  • 메트릭 그래프
  • 고급 디버깅 도구
  • 나 외의 사용자

Lazy Docker는 여전히 대부분의 사람들에게 더 나은 도구입니다. Dockyard는 더 빠르고, 더 작으며, 덜 완전합니다. 이러한 트레이드‑오프는 의도된 것입니다. Dockyard 설치 과정은 여러분이 이 경로를 선택했음을 상기시켜 줍니다.

왜 실제로 만들었는가

저는 원래 개인용으로 Python으로 Docker TUI를 작성했습니다. 그런 다음 작은 VPS에서 실행해 보았고, Python을 최적화하는 것보다 Rust를 배우는 것이 더 쉬울 것이라고 생각했습니다. 이는 잘못된 판단이었지만 교육적인 경험이었습니다.

배운 점:

  • 비동기 Rust
  • Docker API 전반
  • 터미널 UI 레이아웃
  • Docker가 놀라울 정도로 다양한 타임스탬프 형식을 제공한다는 사실

또한 시작 시간에서 밀리초 단위로 시간을 절감하는 것이 얼마나 강력한 도파민을 주는지도 알게 되었습니다. Dockyard는 생태계가 또 다른 도구를 필요로 해서가 아니라, 문제를 처음부터 끝까지 이해하고 싶어서 존재하게 되었습니다.

결론

Dockyard가 Lazy Docker보다 나은가요?
아니오.

더 빠른가요?
예, 눈에 띄지 않을 정도로.

사용해야 하나요?
작고 빠른 바이너리와 너무 신경 쓴 사람이 작성한 Rust 코드를 좋아한다면, 어쩌면.

3주를 투자할 가치가 있었나요?
객관적으로는 아니요.

다시 할까요?
아마도.

Back to Blog

관련 글

더 보기 »

AI가 당신에게 뺨을 때릴 때

AI가 당신을 뺨 때릴 때: Adama에서 Claude가 생성한 코드 디버깅 AI에게 복잡한 기능을 “vibe‑code”하게 맡겨본 적이 있나요? 그 결과 미묘한 버그를 디버깅하느라 몇 시간을 보내게 됩니다.