Instalar OpenClaw com Docker: Guia Completo 2026

Execute o OpenClaw em container Docker. Ideal para isolamento, portabilidade e deploy em produção. Inclui docker-compose.

Instalar OpenClaw com Docker

⏱️ 5 minutos · 🎯 Intermediário · 🐳 Docker

O Docker é ideal para quem quer isolamento, portabilidade ou já tem infraestrutura baseada em containers. O OpenClaw funciona perfeitamente em containers.

💡 Primeira vez com Docker? Recomendamos a instalação nativa que é mais simples. Docker é melhor para ambientes de produção ou quando você já usa containers.


Pré-requisitos

  • Docker 20.10+ instalado
  • Docker Compose v2+ (opcional, mas recomendado)
  • 2GB de RAM disponível para o container

Instalar Docker

Se ainda não tem Docker:

Ubuntu/Debian:

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Faça logout e login novamente

macOS/Windows: Baixe o Docker Desktop


Método 1: Docker Run (Rápido)

# Criar diretório para dados
mkdir -p ~/clawd

# Executar OpenClaw
docker run -d \
  --name openclaw \
  --restart unless-stopped \
  -v ~/clawd:/app/workspace \
  -p 3000:3000 \
  openclaw/openclaw:latest

Primeira configuração

# Entrar no container
docker exec -it openclaw openclaw onboard

# Ver logs
docker logs -f openclaw

Método 2: Docker Compose (Recomendado)

Crie o arquivo docker-compose.yml:

version: '3.8'

services:
  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    restart: unless-stopped
    volumes:
      - ./clawd:/app/workspace
      - ./config.yaml:/app/config.yaml:ro
    ports:
      - "3000:3000"
    environment:
      - NODE_ENV=production
      - TZ=America/Sao_Paulo
    healthcheck:
      test: ["CMD", "openclaw", "gateway", "status"]
      interval: 30s
      timeout: 10s
      retries: 3

Iniciar:

# Criar diretório
mkdir -p clawd

# Subir o container
docker compose up -d

# Ver logs
docker compose logs -f

Configuração

Criar config.yaml

Antes de subir o container, crie seu config.yaml:

# config.yaml
provider:
  default: anthropic
  anthropic:
    apiKey: "sua-chave-api-aqui"

channels:
  telegram:
    enabled: true
    token: "seu-token-telegram"

Variáveis de ambiente

Você também pode usar variáveis de ambiente:

# docker-compose.yml
services:
  openclaw:
    environment:
      - ANTHROPIC_API_KEY=sua-chave
      - TELEGRAM_BOT_TOKEN=seu-token

Persistência de Dados

Importante: Sempre monte o volume /app/workspace para persistir:

  • Configurações
  • Memória do agente
  • Skills customizadas
  • Histórico de conversas
volumes:
  - ./clawd:/app/workspace  # Seus dados ficam aqui

Atualizar OpenClaw

Com Docker Run

docker pull openclaw/openclaw:latest
docker stop openclaw
docker rm openclaw
# Execute o comando docker run novamente

Com Docker Compose

docker compose pull
docker compose up -d

Múltiplas Instâncias

Para rodar vários agentes:

# docker-compose.yml
version: '3.8'

services:
  openclaw-pessoal:
    image: openclaw/openclaw:latest
    container_name: openclaw-pessoal
    volumes:
      - ./pessoal:/app/workspace
    ports:
      - "3001:3000"

  openclaw-trabalho:
    image: openclaw/openclaw:latest
    container_name: openclaw-trabalho
    volumes:
      - ./trabalho:/app/workspace
    ports:
      - "3002:3000"

  openclaw-suporte:
    image: openclaw/openclaw:latest
    container_name: openclaw-suporte
    volumes:
      - ./suporte:/app/workspace
    ports:
      - "3003:3000"

Docker em Produção

Com Nginx Reverse Proxy

# docker-compose.yml
version: '3.8'

services:
  openclaw:
    image: openclaw/openclaw:latest
    restart: unless-stopped
    volumes:
      - ./clawd:/app/workspace
    networks:
      - openclaw-net

  nginx:
    image: nginx:alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./certs:/etc/nginx/certs:ro
    networks:
      - openclaw-net

networks:
  openclaw-net:

Limitar recursos

services:
  openclaw:
    deploy:
      resources:
        limits:
          memory: 2G
          cpus: '1.0'
        reservations:
          memory: 512M

Troubleshooting Docker

Container não inicia

# Ver logs de erro
docker logs openclaw

# Verificar se a porta está em uso
sudo lsof -i :3000

Permissão negada nos volumes

# Ajustar permissões
sudo chown -R 1000:1000 ./clawd

Container sem acesso à rede

# Verificar rede Docker
docker network ls
docker network inspect bridge

Memória insuficiente

Adicione swap ou aumente os recursos:

deploy:
  resources:
    limits:
      memory: 4G

Build Local (Avançado)

Se quiser construir sua própria imagem:

# Clonar repositório
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# Construir imagem
docker build -t openclaw-local .

# Executar
docker run -d --name openclaw -v ~/clawd:/app/workspace openclaw-local

Próximos Passos

Agora que o OpenClaw está rodando em Docker:

  1. Configure seu primeiro bot - Crie um assistente básico
  2. Deploy em Cloud - Execute em servidores remotos
  3. Kubernetes - Para ambientes enterprise
  4. Explore as Skills - Adicione funcionalidades

Artigos Relacionados