시작하기
사전 요구 사항
섹션 제목: “사전 요구 사항”컨테이너 런타임
섹션 제목: “컨테이너 런타임”시스템에 컨테이너 런타임이 필요합니다. Docker 또는 Podman 모두 사용 가능합니다.
| 플랫폼 | 설치 |
|---|---|
| macOS | Docker Desktop for Mac |
| Windows | Docker Desktop for Windows (WSL2 백엔드) |
| Linux | Docker Engine 또는 Docker Desktop for Linux |
정상 작동 확인:
docker --versiondocker compose version| 플랫폼 | 설치 |
|---|---|
| macOS | Podman Desktop for Mac |
| Windows | Podman Desktop for Windows |
| Linux | Podman + Podman Compose |
정상 작동 확인:
podman --versionpodman-compose version시스템 리소스
섹션 제목: “시스템 리소스”| 리소스 | 최소 | 권장 |
|---|---|---|
| 디스크 | 5 GB | 10 GB+ |
| RAM | 컨테이너 런타임에 8 GB 할당 | 12 GB+ |
| CPU | 2 코어 | 4+ 코어 |
Docker Desktop → Settings → Resources에서 리소스 제한을 조정하세요.
macOS/Windows에서는 Podman Desktop → Settings → Resources에서 리소스 제한을 조정하거나, CLI를 통해 설정할 수 있습니다:
podman machine set --cpus 4 --memory 12288podman machine stop && podman machine startLinux에서는 컨테이너가 호스트 리소스를 직접 공유하므로 별도의 리소스 설정이 필요 없습니다.
1. 설정
섹션 제목: “1. 설정”폴더를 생성하고 compose 파일을 다운로드합니다:
mkdir devcontainer && cd devcontainercurl -fsSLO https://raw.githubusercontent.com/f5-sales-demo/devcontainer/main/docker-compose.yml2. 인증 자격 증명 추가 (선택 사항)
섹션 제목: “2. 인증 자격 증명 추가 (선택 사항)”같은 폴더에 .env 파일을 생성하여 Claude Code를 사전 설정합니다. 다음 옵션 중 하나를 선택하세요:
옵션 A: Claude Max (OAuth)
섹션 제목: “옵션 A: Claude Max (OAuth)”CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-your-token-here옵션 B: LiteLLM 또는 Anthropic 호환 프록시
섹션 제목: “옵션 B: LiteLLM 또는 Anthropic 호환 프록시”LiteLLM 인스턴스나 기타 Anthropic 호환 프록시가 있는 경우, 다음 두 변수를 설정하세요:
LITELLM_BASE_URL=https://your-litellm-endpoint.example.comLITELLM_API_KEY=your-api-key도메인만 설정하세요 — 컨테이너가 프로바이더별 URL 접미사를 자동으로 생성합니다(예: Claude Code의 경우 /anthropic).
로컬 자격 증명에서 자동 채우기
섹션 제목: “로컬 자격 증명에서 자동 채우기”호스트에 git과 gh가 설정되어 있다면, 대부분의 .env 값을 자동으로 채울 수 있습니다. 먼저 템플릿을 복사하세요:
cp .env.example .env그런 다음 사용 환경에 맞는 명령어를 실행하세요:
# Git identityecho "GIT_AUTHOR_EMAIL=$(git config user.email)" >> .envecho "GIT_AUTHOR_NAME=\"$(git config user.name)\"" >> .env
# Timezoneecho "TZ=$(readlink /etc/localtime | sed 's|.*/zoneinfo/||')" >> .env
# GitHub CLI token (requires: gh auth login)echo "GH_TOKEN=$(gh auth token)" >> .env
# SSH key (if you use SSH for git)echo "SSH_PRIVATE_KEY=$(base64 < ~/.ssh/id_ed25519)" >> .env그런 다음 .env를 편집하여 OAuth 토큰 또는 LiteLLM 프록시 설정을 추가하세요(위의 옵션 참조).
3. 시작
섹션 제목: “3. 시작”docker compose up -dpodman-compose pull && podman-compose up -d처음 실행 시 ghcr.io에서 사전 빌드된 이미지를 가져옵니다(연결 속도에 따라 약 1분 소요). 이후 시작 시에는 캐시된 이미지를 사용하므로 몇 초면 됩니다.
4. 연결
섹션 제목: “4. 연결”docker compose exec dev zshpodman-compose exec dev zsh5. 확인
섹션 제목: “5. 확인”# AI toolsclaude --versioncodex --versionpi --version
# Languagesnode --versionpython3 --versiongo version
# Cloud CLIsaws --versionaz --versionterraform --versionAI 연결 테스트:
claude -p "Say hello"6. 첫 번째 프로젝트
섹션 제목: “6. 첫 번째 프로젝트”cd /workspacegit clone https://github.com/your-org/your-project.gitcd your-projectclaude7. 원격 디스플레이 (noVNC)
섹션 제목: “7. 원격 디스플레이 (noVNC)”컨테이너에는 AI 에이전트가 브라우저를 제어하는 것을 관찰할 수 있는 가상 디스플레이가 포함되어 있습니다. http://localhost:6080/vnc.html을 열어 연결하세요. 자세한 내용은 원격 디스플레이 (noVNC)를 참조하세요.
8. 브라우저 자동화 (Chrome DevTools MCP)
섹션 제목: “8. 브라우저 자동화 (Chrome DevTools MCP)”Claude Code는 내장된 Chrome DevTools MCP 서버를 사용하여 웹 페이지를 탐색하고, 스크린샷을 찍고, DOM을 검사할 수 있습니다. 별도의 설정이 필요 없으며 — 헤드리스 모드에서 자동으로 작동합니다. 자세한 내용은 Chrome DevTools MCP를 참조하세요.
9. 중지 및 재시작
섹션 제목: “9. 중지 및 재시작”# 중지 (데이터 유지)docker compose down
# 다시 시작docker compose up -d
# 모든 것을 삭제하고 처음부터 시작docker compose down -vdocker compose up -d# 중지 (데이터 유지)podman-compose down
# 다시 시작 (pull로 최신 이미지 확인)podman-compose pull && podman-compose up -d
# 모든 것을 삭제하고 처음부터 시작podman-compose down -vpodman-compose pull && podman-compose up -d/workspace의 코드와 홈 디렉토리는 재시작 후에도 유지됩니다. 자세한 내용은 설정 — 데이터 지속성을 참조하세요.
로컬 빌드 및 Dockerfile 커스터마이징에 대해서는 로컬 개발을 참조하세요. VS Code 통합에 대해서는 VS Code를 참조하세요. 원격 디스플레이 옵션에 대해서는 원격 디스플레이 (noVNC)를 참조하세요.