claude-docker: 한 번의 명령으로 컨테이너를 생성하고 모든 권한 부여하기
요약
Claude Code를 Docker 컨테이너 환경에서 안전하게 실행할 수 있도록 돕는 설치 스크립트와 사용법을 소개합니다. 컨테이너화를 통해 호스트 시스템에 미칠 수 있는 잠재적 영향을 제한하면서도 Claude Code의 모든 권한을 활용할 수 있습니다.
핵심 포인트
- Docker를 활용해 Claude Code 실행 환경을 샌드박스화하여 보안 강화
- claude-docker 명령어로 현재 디렉토리를 마운트하여 즉시 실행 가능
- claude-docker-sh를 통해 컨테이너 내부 쉘로 진입 및 디버깅 지원
- 위험한 권한 부여 옵션의 피해 범위를 특정 경로로 제한
샌드박스 Docker 컨테이너에서 Claude Code 실행하기
Claude Code를 프로젝트 외부의 어떤 것에도 영향을 주지 않으면서, 모든 권한을 부여하여 실행하고 싶었던 적이 있다면 이 도구가 적합합니다. 이 한 줄짜리 설치 스크립트가 바로 그 역할을 수행합니다.
이 스크립트는 Claude Code와 rtk CLI가 사전 설치된 최소한의 Docker 이미지(node:22-slim)를 빌드한 다음, 두 개의 쉘 별칭(shell aliases)을 연결합니다:
claude-docker—--dangerously-skip-permissions옵션과 함께 컨테이너 내부에서 Claude Code를 실행하며, 현재 디렉토리가/workspace에 마운트됩니다.claude-docker-sh— 동일한 컨테이너 내의 bash 쉘로 진입하며, 내부를 살펴보거나 디버깅할 때 유용합니다.
모든 것이 컨테이너 내부에서 실행되기 때문에,
curl -s https://gist.githubusercontent.com/acashjos/93f47fce263dcaaa1cd5ba38b4459ffb/raw/5944ef120f150ca08287d406ff3397a6687b871f/claude-docker-install-zsh.sh | sh
또는 먼저 다운로드하여 검토한 후 실행할 수 있습니다:
curl -O https://gist.githubusercontent.com/acashjos/93f47fce263dcaaa1cd5ba38b4459ffb/raw/5944ef120f150ca08287d406ff3397a6687b871f/claude-docker-install-bash.sh
chmod +x claude-docker-install-bash.sh
./claude-docker-install-bash.sh
이 스크립트는 이미지를 빌드하고, 별칭(alias)을 .bashrc (또는 .zshrc) 파일에 추가하며, 해당 파일을 소싱하여 즉시 사용 가능하게 만듭니다.
사용법 (Usage)
어떤 프로젝트 디렉토리에서든:
claude-docker
이 명령어는 현재 작업 디렉토리를 컨테이너 내부로 마운트하고, 모든 권한을 부여받은 상태로 Claude Code를 시작합니다. 첫 실행 시에는 Claude Code 내부의 /login 명령어를 사용하여 인증을 완료해야 합니다.
대신 동일한 환경에서 일반 쉘(shell)이 필요하다면?
claude-docker-sh
왜 컨테이너화하는가 (Why containerize it)
--dangerously-skip-permissions 옵션을 사용하여 베어 호스트(bare host)에서 Claude Code를 실행하면, 해당 사용자의 계정이 읽기, 쓰기 또는 실행할 수 있는 모든 것에 접근할 수 있게 됩니다. 이를 Docker로 감싸고 $HOME/.claude-docker와 프로젝트 디렉토리만 마운트함으로써, 잠재적 피해 범위(blast radius)를 이 두 경로로 제한합니다. 이는 완전한 수동 승인과 완전한 자율성 사이의 합리적인 중간 지점입니다.
전체 소스 코드 및 두 쉘 변형 버전: gist.github.com/acashjos/93f47fce263dcaaa1cd5ba38b4459ffb
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기