- Início
- Contêiner de desenvolvimento
- Primeiros Passos
Primeiros Passos
Pré-requisitos
Seção intitulada “Pré-requisitos”Runtime de Contêiner
Seção intitulada “Runtime de Contêiner”Você precisa de um runtime de contêiner na sua máquina. Docker ou Podman funcionam.
| Plataforma | Instalação |
|---|---|
| macOS | Docker Desktop para Mac |
| Windows | Docker Desktop para Windows (backend WSL2) |
| Linux | Docker Engine ou Docker Desktop para Linux |
Verifique se está funcionando:
docker --versiondocker compose version| Plataforma | Instalação |
|---|---|
| macOS | Podman Desktop para Mac |
| Windows | Podman Desktop para Windows |
| Linux | Podman + Podman Compose |
Verifique se está funcionando:
podman --versionpodman-compose versionRecursos do Sistema
Seção intitulada “Recursos do Sistema”| Recurso | Mínimo | Recomendado |
|---|---|---|
| Disco | 5 GB | 10 GB+ |
| RAM | 8 GB alocados para o runtime de contêiner | 12 GB+ |
| CPU | 2 núcleos | 4+ núcleos |
Ajuste os limites de recursos em Docker Desktop → Settings → Resources.
No macOS/Windows, ajuste os limites de recursos em Podman Desktop → Settings → Resources, ou via CLI:
podman machine set --cpus 4 --memory 12288podman machine stop && podman machine startNo Linux, os contêineres compartilham os recursos do host diretamente — nenhuma configuração de recursos é necessária.
1. Configuração
Seção intitulada “1. Configuração”Crie uma pasta e baixe o arquivo compose:
mkdir devcontainer && cd devcontainercurl -fsSLO https://raw.githubusercontent.com/f5-sales-demo/devcontainer/main/docker-compose.yml2. Adicione Suas Credenciais de Autenticação (Opcional)
Seção intitulada “2. Adicione Suas Credenciais de Autenticação (Opcional)”Crie um arquivo .env na mesma pasta para pré-configurar o Claude Code. Escolha uma das seguintes opções:
Opção A: Claude Max (OAuth)
Seção intitulada “Opção A: Claude Max (OAuth)”CLAUDE_CODE_OAUTH_TOKEN=sk-ant-oat01-your-token-hereOpção B: LiteLLM ou proxy compatível com Anthropic
Seção intitulada “Opção B: LiteLLM ou proxy compatível com Anthropic”Se você tem uma instância LiteLLM ou outro proxy compatível com Anthropic, defina estas duas variáveis:
LITELLM_BASE_URL=https://your-litellm-endpoint.example.comLITELLM_API_KEY=your-api-keyDefina apenas o domínio — o contêiner deriva automaticamente os sufixos de URL específicos do provedor (ex.: /anthropic para Claude Code).
Preencher automaticamente a partir de credenciais locais
Seção intitulada “Preencher automaticamente a partir de credenciais locais”Se você tem git e gh configurados no seu host, pode preencher a maioria dos valores do .env automaticamente. Comece copiando o template:
cp .env.example .envEm seguida, execute os comandos que correspondem à sua configuração:
# 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)" >> .envDepois edite o .env para adicionar seu token OAuth ou configurações de proxy LiteLLM (veja as opções acima).
3. Iniciar
Seção intitulada “3. Iniciar”docker compose up -dpodman-compose pull && podman-compose up -dA primeira execução baixa a imagem pré-construída do ghcr.io (~1 min dependendo da sua conexão). Inicializações subsequentes usam a imagem em cache e levam segundos.
4. Conectar
Seção intitulada “4. Conectar”docker compose exec dev zshpodman-compose exec dev zsh5. Verificar
Seção intitulada “5. Verificar”# AI toolsclaude --versioncodex --versionpi --version
# Languagesnode --versionpython3 --versiongo version
# Cloud CLIsaws --versionaz --versionterraform --versionTeste a conexão com a IA:
claude -p "Say hello"6. Seu Primeiro Projeto
Seção intitulada “6. Seu Primeiro Projeto”cd /workspacegit clone https://github.com/your-org/your-project.gitcd your-projectclaude7. Display Remoto (noVNC)
Seção intitulada “7. Display Remoto (noVNC)”O contêiner inclui um display virtual para assistir agentes de IA controlarem um navegador. Abra http://localhost:6080/vnc.html para conectar. Veja Display Remoto (noVNC) para detalhes.
8. Automação de Navegador (Chrome DevTools MCP)
Seção intitulada “8. Automação de Navegador (Chrome DevTools MCP)”O Claude Code pode navegar em páginas web, capturar screenshots e inspecionar o DOM usando o servidor Chrome DevTools MCP integrado. Nenhuma configuração necessária — funciona automaticamente em modo headless. Veja Chrome DevTools MCP para detalhes.
9. Parando e Reiniciando
Seção intitulada “9. Parando e Reiniciando”# Parar (preserva os dados)docker compose down
# Iniciar novamentedocker compose up -d
# Destruir tudo e começar do zerodocker compose down -vdocker compose up -d# Parar (preserva os dados)podman-compose down
# Iniciar novamente (pull garante a imagem mais recente)podman-compose pull && podman-compose up -d
# Destruir tudo e começar do zeropodman-compose down -vpodman-compose pull && podman-compose up -dSeu código em /workspace e o diretório home persistem entre reinicializações. Veja Configuração — Persistência de Dados para detalhes.
Para builds locais e personalização do Dockerfile, veja Desenvolvimento Local. Para integração com VS Code, veja VS Code. Para opções de display remoto, veja Display Remoto (noVNC).