Show HN: Nucleus – 보안 강화된 Nix 기반 컨테이너 런타임

발행: (2026년 6월 10일 AM 08:03 GMT+9)
7 분 소요

출처: Hacker News

Crates.io License: MIT OR Apache-2.0

극도로 가볍고 보안이 강화된 선언형 컨테이너 런타임 – 에이전트와 프로덕션 서비스용

Nucleus는 Linux용 미니멀리스트 컨테이너 런타임입니다. 전통적인 컨테이너 런타임이 갖는 부하 없이 Linux 커널 기본 기능을 이용해 격리된 실행 환경을 제공합니다. 프로덕션 서비스에서는 완전 선언형 모델을 기반으로 설계되었습니다: Nix가 루트 파일시스템을 빌드하고, NixOS 모듈이 서비스를 선언하며, Nucleus는 실행 시 고정된 재현 가능한 클로저를 마운트합니다.

Nucleus는 세 가지 운영 모드를 지원합니다:

  • Agent 모드 (기본) – AI 에이전트 워크로드용, 일시적이며 빠르게 시작되는 샌드박스
  • Strict agent 모드 – 프로덕션 루트FS, 헬스 체크, sd_notify, NixOS 서비스 의미론 없이도 일시적 에이전트 워크로드에 대해 실패-폐쇄형 격리를 제공
  • Production 모드 – 선언형 설정, 재현 가능한 Nix 빌드 루트 파일시스템, 외부 정책 적용, 헬스 체크, systemd 통합을 갖춘 장기 실행, 네트워크 바인드된 NixOS 서비스에 대한 엄격한 격리

프로덕션 배포는 다음을 목표로 합니다:

  • 완전 선언형 – 서비스 토폴로지, 런타임 설정, 마운트된 루트FS를 배포 시점에 즉시 정의하고, 배포 시점에 명령형으로 조립하지 않음
  • Nix 네이티브 – 1급 NixOS 모듈 지원 + nucleus.lib.mkRootfs 로 최소 서비스 클로저 생성
  • 재현 가능 – 플레이크 기반 빌드, 고정된 스토어 경로, 루트FS 증명으로 런타임 입력을 안정적이고 감사 가능하게 유지

Benchmarks

Cold Start

Runtime
Startup Time

Nucleus
12 ms

Docker
~500 ms

PostgreSQL 18 (pgbench, 8 clients, 60 s, scale 50)


네이티브 런타임에서는 Nucleus 격리 하에서도 PostgreSQL이 베어메탈 성능에 가깝게 유지됩니다. 이 벤치마크에서 가끔 나타나는 베어메탈 대비 우위는 보장된 속도 향상이 아니라 벤치마크 잡음으로 간주하십시오.

SELECT 전용 (읽기 위주)

EnvironmentI/O MethodAvg TPSAvg Latency
베어메탈worker100,2220.080 ms
베어메탈io_uring84,8950.096 ms
Nucleusworker105,9650.075 ms
Nucleusio_uring107,0390.074 ms

TPC‑B (읽기/쓰기 혼합)

EnvironmentI/O MethodAvg TPSAvg Latency
베어메탈worker1,4905.38 ms
베어메탈io_uring1,3825.79 ms
Nucleusworker1,7574.55 ms
Nucleusio_uring1,5855.05 ms

Linux 6.18 x86_64 환경에서 측정되었습니다. 이 벤치마크는 호스트 pgdata 디렉터리를 바인드 마운트하고 --network host 옵션을 사용한 네이티브 런타임을 이용하므로, VM이나 gVisor 에뮬레이션 오버헤드가 아닌 Nucleus 격리의 정상 상태 비용을 측정한 것입니다. 전체 결과: benches/pg18_io/results/

Why Nucleus?

  • 서비스를 위한 선언형 기본값 – 프로덕션 배포는 임시 스크립트를 조합하는 대신 NixOS와 TOML으로 정의됩니다
  • 깊은 Nix 통합 – 1급 NixOS 모듈, mkRootfs, 최소·잠금된 서비스 루트용 Nix 스토어 클로저 제공
  • 재현 가능한 서비스 빌드 – 플레이크 기반 패키징, 고정 입력, 루트FS 증명을 통해 런타임 상태를 감사·반복 가능하게 함
  • 무오버헤드 격리 – cgroups, 네임스페이스, pivot_root, capabilities, seccomp, Landlock 직접 사용
  • 메모리 기반 파일시스템 – 컨테이너 디스크를 tmpfs에 매핑하고 에이전트 컨텍스트를 미리 채워 둠
  • gVisor 통합 – 보안을 강화한 선택적 애플리케이션 커널, 네트워크 서비스 모드 포함
  • OCI runtime‑spec 서브셋 (gVisor용)runsc용 OCI 번들/구성 데이터를 생성 (프로세스 ID, 마운트, 네임스페이스, seccomp, 훅, cgroup 경로 등)
  • Detached 모드--detach 로 백그라운드에서 systemd transient 서비스로 실행, nucleus stop/logs/attach 로 관리
  • 프로덕션 서비스 지원 – 선언형 NixOS 모듈, egress 정책, 헬스 체크, 시크릿 마운트, sd_notify, journald 통합
  • 명시적 워크로드 아이덴티티 – 네이티브·gVisor 런타임 모두 권한 설정 후 지정된 uid/gid와 보조 그룹으로 전환 가능
  • 최소 루트FS – 호스트 바인드 마운트를 프로덕션 서비스를 위한 목적별 Nix 스토어 클로저로 교체
  • 외부 보안 정책 – 서비스별 seccomp 프로파일(JSON), capability 정책(TOML), Land
0 조회
Back to Blog

관련 글

더 보기 »

‘More Like This’의 진화

In many search scenarios, the user does not start from an empty query box, but from an existing result. A user opens an article and wants to find related materi...

macOS 컨테이너 머신

Container machine provides a highly integrated Linux environment that works seamlessly on your Mac. Container machines are fast, lightweight and persistent. The...

죽음이다

I’m feeling hungry, so I go to my kitchen and turn on the stove. I inadvertently have the handle of the frying pan sitting above the flame and when I go to pick...