2026 Docker Sandboxes로 OpenClaw 격리 실행: 베어메탈·일반 Docker 대비 기준선과 Mac 클라우드 7×24 FAQ

Sandboxes는 격리·출구·시크릿 주입 이야기로 화제지만 OOM·uid·DNS는 남는다. VPSMAC Exit 137 글과 동일하게 cgroup·볼륨부터 본다. 채택 기준, 세 형태 비교표, 5+1 재현 단계, 18789·로그, openclaw doctor 순서를 정리한다.

Mac 클라우드에서 OpenClaw Docker Sandbox

목차

1. 경계

개인 실험이나 빈번한 소스 수정이면 npm/설치 스크립트가 빠르다. Compose에 읽기 전용 루트·메모리 상한이 있으면 위협 모델이 허용할 때 Sandboxes는 미룰 수 있다. Mac 클라우드는 화면 없음·메모리 티어·Docker 데이터와 로그 공존으로 추상화 비용을 함께 산정한다.

  1. Sandboxes 유리: 멀티테넌트, 스킬 불신, 출구 화이트리스트, 감사용 도메인 목록, 프록시 주입 키.
  2. 베어메탈/Compose 유리: 대용량 workspace IO, Docker+Sandbox CLI 미고정, 잦은 디버그.

정책은 일반 컨테이너 규율 위에 얹는다. 네트워크 정책을 갈아엎기 전에 docker inspect와 볼륨 권한을 본다.

compose 소유와 정책 repo 소유를 나누면 PR이 한쪽만 갱신되기 쉽다. 이미지와 출구 규칙을 같은 체크리스트나 통합 헬스 테스트에 넣는다.

커스텀 이미지에 API 키를 굽거나 Git에 임시로 넣는 순간 Sandboxes의 경제적 이점이 사라진다. 키는 프록시·시크릿 스토어·오케스트레이터 주입으로 옮기고 컨테이너 파일시스템은 언제든 폐기 가능하게 유지한다.

2. 비교표

차원베어메탈일반 DockerSandboxes
격리OS 사용자namespace/cgroup강한 기본 경계·프록시 친화
관측직접 로그docker logs프록시 상관관계 필요
성능최소중~높음
전형 실패호스트 실수uid/DNS/OOM(별도 글)잘못된 정책으로 전체 차단
Exit 137/OOM은 Sandboxes가 자동 해결하지 않는다. 메모리 한도와 ~/.openclaw 마운트를 먼저 맞춘다.

3. 단계

  1. Engine/CLI·이미지 digest·정책 버전 삼중 고정.
  2. 설정·workspace·로그 분리 마운트, uid 1000 등 기존 글과 정렬.
  3. 메모리/CPU 상한과 약 20% 버스트 여유, xcodebuild 공존 시 시간대 분리.
  4. 모델 API·Webhook·레지스트리 나열 후 default deny 또는 프록시 주입.
  5. 18789(또는 공개 포트) 컨테이너 내외 헬스, start_period 충분히.
  6. 성공 시 openclaw status(비밀 제거)와 정책 해시 스냅샷.
# 원칙: 읽기 전용 루트 + 명시 볼륨 + 상한 + 헬스 # --read-only --tmpfs /tmp ... -v cfg:/home/node/.openclaw --memory=4g

4. Mac 클라우드 7×24

재시작 정책에 백오프를 넣어 잘못된 정책의 재시작 폭풍을 막는다. 프록시 로그와 게이트웨이 로그를 request id로 묶는다. 보안 그룹은 SSH·공개 포트·승인 HTTPS를 함께 연다. 호스트 curl 성공·컨테이너 실패는 Docker 네트워크 우선이다.

모니터링 에이전트를 게이트웨이와 같은 브리지 관점에 두지 않으면 대시보드만 초록일 수 있다. 설정 볼륨 백업을 골든 이미지와 분리하지 않으면 복원 후 빈 상태로 뜨는 함정이 생긴다.

장애 연습 때는 Sandboxes 정책을 의도적으로 하나의 필수 도메인을 막아 보고, 알람·롤백·문서가 실제로 작동하는지 검증한다. 테이블탑에서만 읽던 runbook이 통과하면 운영 피로도가 크게 줄어든다.

5. 기준

수치는 용량 검토용 출발점이며, 프로덕션 트래픽의 p95 지연과 RSS를 일주일 측정한 뒤 확정한다. 스킬이 외부 HTTP를 많이 호출하면 프록시 동시 연결 한도를 별도 지표로 두고 Sandboxes 타임아웃과 이중 고갈이 나지 않게 조정한다.

6. FAQ

인시던트 때는 로그 줄을 게이트웨이 프로세스·컨테이너 네트워크·Sandboxes 프록시·외부 SaaS 네 층으로 나누면 빠르다. 같은 상관 ID만 통과시켜도 간헐적 지연 신고를 재현 없이 좁히기 쉽다.

즉시 Permission denied? 볼륨 uid·쓰기 경로 다음 Sandboxes 거부.

프로세스는 살아 있는데 채널 전멸? DNS/출구 → doctor 채널 절.

업그레이드 후만 실패? 릴리스 노트 경로·네트워크 변경 diff. 이전 태그와 정책 파일을 나란히 비교하면 몇 분 안에 원인이 좁혀진다.

노트북 Sandboxes는 절전·정책에 취약하고 Windows/WSL만으로는 경로 부담이 남는다. Docker는 유연하지만 추상화 비용이 있다. OpenClaw를 7×24 게이트로 쓸 때는 Apple 실기 위 전용 Mac 클라우드가 SSH 운용과 툴체인 양립에 유리하다. Exit 137 글과 본문을 이어 cgroup·DNS·doctor·Sandbox를 한 runbook으로 묶는다. Linux VPS만으로는 Apple 툴체인을 대체할 수 없지만 에이전트 안정 운용에서는 Mac 임대가 장기 TCO에서 유리한 경우가 많다.