Claude Code 상세 사용법 66: 개발 컨테이너로 팀 실행 환경 고정하기 | DAKER 커뮤니티

Claude Code 상세 사용법 66: 개발 컨테이너로 팀 실행 환경 고정하기

Claude Code를 팀에서 쓰기 시작하면 “내 노트북에서는 되는데 Claude가 돌린 테스트는 다르다”는 문제가 빨리 나옵니다. 공식 dev container 문서는 Claude Code를 컨테이너 안에 설치하면 명령, 빌드 도구, 언어 서버가 컨테이너에서 실행되고 파일 수정은 로컬 저장소에 보인다고 설명합니다. 클로드 코드 기반 AI 코딩을 팀 표준으로 만들려면 프롬프트보다 실행 환경을 먼저 고정해야 합니다.

Mermaid 흐름으로 보는 도입 순서

Mermaid source:
flowchart TD
  A[저장소에 devcontainer.json 추가] --> B[Claude Code Feature 설치]
  B --> C[컨테이너 재빌드]
  C --> D[컨테이너 터미널에서 claude 로그인]
  D --> E[~/.claude 볼륨 보존]
  E --> F[정책과 네트워크 제한 검증]

최소 설정부터 시작한다

기존 dev container가 없다면 아래처럼 시작할 수 있습니다. Feature 태그는 설치 스크립트 버전이고 Claude Code 자체는 기본적으로 최신 버전을 설치합니다.

{
  "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
  "features": {
    "ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {}
  }
}

컨테이너를 rebuild한 뒤 터미널에서 실행합니다.

claude

브라우저 로그인 callback이 컨테이너까지 돌아오지 않으면 브라우저에 표시된 코드를 터미널 prompt에 붙여 넣습니다. Codespaces나 원격 dev container에서는 이 실패 모드가 흔합니다.

인증과 설정은 볼륨으로 보존한다

컨테이너 rebuild 때 홈 디렉터리가 사라지면 매번 로그인해야 합니다. Claude Code 설정, 인증, 세션 기록은 ~/.claude 아래에 있으므로 remote user 홈 경로에 맞춰 volume을 둡니다.

{
  "mounts": [
    "source=claude-code-config-${devcontainerId},target=/home/node/.claude,type=volume"
  ]
}

여기서 중요한 것은 host의 ~/.ssh나 cloud credential file을 그대로 mount하지 않는 것입니다. 공식 문서는 repository scoped token이나 short lived token을 선호하라고 경고합니다.

조직 정책과 네트워크를 분리한다

Linux 컨테이너에서는 /etc/claude-code/managed-settings.json으로 managed settings를 넣을 수 있습니다. 다만 Dockerfile이 저장소 안에 있으면 저장소 write 권한이 있는 사람이 바꿀 수 있으므로, 강제력이 필요한 정책은 server managed settings나 MDM으로 배포하는 편이 맞습니다.

RUN mkdir -p /etc/claude-code
COPY managed-settings.json /etc/claude-code/managed-settings.json

네트워크 제한은 별도 설계입니다. api.anthropic.com, claude.ai, platform.claude.com, downloads.claude.ai 같은 필수 도메인과 개발 도구 도메인을 나눠 허용 목록을 만듭니다. Chrome 연동을 쓰면 bridge 도메인도 필요할 수 있습니다.

권한 생략은 컨테이너 뒤에서만 검토한다

컨테이너가 비루트 사용자로 실행되고 네트워크 egress가 제한되어 있으면 unattended 작업에 --dangerously-skip-permissions를 검토할 수 있습니다. 하지만 이 플래그는 검토 prompt를 없애므로, bind mounted workspace의 파일과 허용된 네트워크에는 여전히 접근할 수 있습니다.

claude --dangerously-skip-permissions

반복 테스트 자동화에는 편하지만, 신뢰하지 않는 저장소에는 쓰지 마세요. 더 적은 prompt가 목표라면 먼저 auto mode와 permission rule을 조합하는 편이 안전합니다.

선임 엔지니어 takeaways

개발 컨테이너는 Claude Code를 가두는 마법 상자가 아닙니다. 팀의 LLM 개발 워크플로우를 재현 가능하게 만드는 운영 단위입니다. 바이브코딩을 실험에서 제품 개발로 옮기려면 devcontainer, MCP 의존성, 테스트 자동화, 네트워크 allowlis

t, managed settings를 같은 PR에서 검토하세요. “Claude가 뭘 할 수 있나”보다 “Claude가 어느 환경에서만 할 수 있나”가 더 중요한 설계 질문입니다.


참고: Anthropic Claude Code llms.txt, Development containers, Sandbox environments, Network configuration 문서를 2026-06-17 Asia/Seoul 기준으로 확인했습니다.

Redirecting to Claude Code 상세 사용법 66: 개발 컨테이너로 팀 실행 환경 고정하기 | DAKER 커뮤니티...