O kit do laboratório, para baixar — https://github.com/hrhouma2/aiopsatlas-recherche-graphes-labo-fr — por
git clone https://github.com/hrhouma2/aiopsatlas-recherche-graphes-labo-frou pelo botão verde Code → Download ZIP. Esta lição instala o Docker (etapas 1 a 3), depois obtém esse kit (etapa 4) e executa sua lista de verificação (etapa 5).
Antes de fazer um avião decolar, o piloto não adivinha: ele percorre uma lista de verificação, ponto por ponto, e só decola quando tudo está verde. O laboratório faz o mesmo. O Docker é a pista (sem ele, nada anda), a memória alocada é o combustível (Elasticsearch, Kibana e Neo4j são três máquinas Java que reclamam cada uma sua parte), as portas 9200, 5601, 7474 e 7687 são as frequências de rádio que devem estar livres. O comando prerequis é a sua lista de verificação: ele imprime um visto verde ou uma cruz vermelha por ponto, e diz exatamente o que corrigir. Você só executa demarrer quando a última linha verde for exibida.
O laboratório são cinco contêineres descritos em um arquivo docker-compose.yml e um script de acompanhamento em dois sabores: labo.sh (bash: Linux, macOS, WSL2, Git Bash) e labo.ps1 (PowerShell 5.1 ou 7 no Windows). O script não faz nada de mágico: ele encadeia comandos docker compose e docker compose exec … curl dentro dos contêineres. Resultado: você não instala nada além do Docker na sua máquina, nem Java, nem Node, nem curl.
O que prerequis verifica, na ordem: o comando docker existe; o daemon responde (docker info); o docker compose v2 está presente; a memória visível pelo Docker (docker info --format '{{.MemTotal}}') atinge 4 GB (cruz abaixo disso, aviso amarelo entre 4 e 6, verde a partir de 6); pelo menos 2 processadores; as quatro portas estão livres ou já em uso pelo próprio laboratório.
| Sistema | O que você instala | Ajuste de memória | Particularidade |
|---|---|---|---|
| Windows 10/11 | Docker Desktop, motor WSL 2 | arquivo %UserProfile%\.wslconfig | Set-ExecutionPolicy se o PowerShell recusar o script |
| macOS | Docker Desktop (Intel ou Apple Silicon) | Settings → Resources → Memory | nada mais |
| Linux | Docker Engine + plugin docker-compose-plugin | a RAM da máquina, diretamente | grupo docker e vm.max_map_count obrigatórios |
Windows: instalar o Docker Desktop com WSL 2. Baixe o Docker Desktop, deixe marcado "Use WSL 2 instead of Hyper-V", reinicie se solicitado, depois abra o Docker Desktop e aguarde até que o ícone da baleia fique estável (verde). No WSL 2, o Docker não vê toda a sua RAM: por padrão, metade, e raramente mais de 8 GB. Para garantir 6 GB a ele, crie o arquivo C:\Users\<você>\.wslconfig (PowerShell):
notepad $env:UserProfile\.wslconfigCole estas três linhas, salve, depois reinicie a máquina virtual WSL:
[wsl2]
memory=6GB
processors=4wsl --shutdownEm seguida, reabra o Docker Desktop. O que é preciso ver: docker info --format '{{.MemTotal}}' retorna um número superior a 6 000 000 000. A boa notícia: a máquina WSL 2 do Docker Desktop já fixa vm.max_map_count em 262144, você não tem nada a fazer desse lado (verificado: docker run --rm alpine sysctl vm.max_map_count → vm.max_map_count = 262144).
macOS: instalar o Docker Desktop e aumentar a memória. Instale o .dmg correspondente ao seu chip (Apple Silicon ou Intel), abra o Docker Desktop, depois vá em Settings → Resources → Advanced e empurre o controle Memory para 6 GB no mínimo (8 GB se pretende ativar o OpenSearch). Clique em "Apply & restart". O que é preciso ver: docker info --format '{{.MemTotal}}' reflete o novo ajuste.
Linux: Docker Engine, grupo docker e vm.max_map_count. Instale o Docker Engine e o plugin Compose conforme a documentação da sua distribuição (pacotes docker-ce, docker-ce-cli, containerd.io, docker-compose-plugin). Depois, para não digitar sudo a cada comando:
sudo usermod -aG docker $USER
newgrp docker # ou déconnecte-toi puis reconnecte-toi
docker run --rm hello-worldObrigatório no Linux: Elasticsearch e OpenSearch se recusam a iniciar se o kernel limitar o número de áreas de memória virtual a 65 530 (o valor padrão). Aumente o limite imediatamente e torne-o permanente:
sudo sysctl -w vm.max_map_count=262144
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.conf
sysctl vm.max_map_countO que é preciso ver: vm.max_map_count = 262144. Sem esse ajuste, demarrer falhará com a mensagem descrita na lição 04 (falha nº 3).
Obter o kit do laboratório. Duas opções equivalentes. Com Git:
git clone https://github.com/hrhouma2/aiopsatlas-recherche-graphes-labo-fr
cd aiopsatlas-recherche-graphes-labo-frSem Git: na página do repositório, botão "Code" → "Download ZIP", descompacte, depois abra um terminal na pasta descompactada. O que é preciso ver: docker-compose.yml, labo.sh, labo.ps1, README.md, e as pastas elasticsearch/, neo4j/, outils/. Todos os comandos do curso são executados a partir dessa pasta.
Executar a lista de verificação.
./labo.sh prerequis.\labo.ps1 prerequisSaída real na máquina do curso (Windows 11, Docker Desktop, 20 processadores, laboratório já iniciado):
== Prérequis ==
✔ docker : Docker version 29.3.1, build c2be9cc
✔ le démon Docker répond
✔ docker compose : 5.1.1
✔ mémoire disponible pour Docker : 31 Go
✔ processeurs : 20
✔ port 9200 : utilisé par le labo lui-même
✔ port 5601 : utilisé par le labo lui-même
✔ port 7474 : utilisé par le labo lui-même
✔ port 7687 : utilisé par le labo lui-même
Tout est prêt. Lancez : .\labo.ps1 demarrerO que é preciso ver: na sua máquina, antes da primeira inicialização, as quatro últimas linhas dirão port 9200 : libre (porta 9200: livre), etc. Uma linha amarela ! mémoire pour Docker : 5 Go — suffisant sans OpenSearch ; 6 Go conseillés pour le profil opensearch (memória para o Docker: 5 GB — suficiente sem OpenSearch; 6 GB recomendados para o perfil opensearch) não é bloqueante. Uma cruz vermelha ✘ é: o script termina com Corrigez les points marqués ✘ puis relancez (corrija os pontos marcados ✘ e reexecute) e se recusa a ir adiante.
Ler uma cruz vermelha e corrigi-la. Cada ✘ contém o remédio na própria frase. As três mais frequentes:
| Linha exibida | O que você faz |
|---|---|
✘ le démon Docker ne répond pas — lancez Docker Desktop et attendez l'icône verte (o daemon Docker não responde — abra o Docker Desktop e aguarde o ícone verde) | O Docker Desktop não está aberto, ou ainda está iniciando. Aguarde, tente novamente. |
✘ mémoire pour Docker : 2 Go — il en faut au moins 4 (fichier %UserProfile%\.wslconfig : [wsl2] memory=6GB, puis wsl --shutdown) (memória para o Docker: 2 GB — são necessários pelo menos 4) | Etapa 1 (Windows) ou 2 (macOS). |
✘ port 9200 déjà occupé par un autre programme — arrêtez-le ou changez le port dans docker-compose.yml (porta 9200 já ocupada por outro programa — pare-o ou mude a porta no docker-compose.yml) | Um antigo Elasticsearch instalado localmente, ou outro projeto Docker. Lição 04, falha nº 1. |
O que é preciso ver: após a correção, reexecute prerequis até obter a linha verde final. Depois passe à lição 03.
O PowerShell recusa o script: .\labo.ps1 : Impossible de charger le fichier … car l'exécution de scripts est désactivée sur ce système. (Não é possível carregar o arquivo … porque a execução de scripts está desabilitada neste sistema.) → A política de execução padrão do Windows bloqueia os scripts não assinados. Autorize-os somente para a sua conta (nenhuma elevação necessária):
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedResponda O (sim, em um Windows em francês; Y em um Windows em inglês) e reexecute .\labo.ps1 prerequis.
docker : Le terme 'docker' n'est pas reconnu (ou docker: command not found) → O Docker não está instalado, ou o terminal foi aberto antes da instalação e não recarregou o PATH. Feche e reabra o terminal; no Linux, verifique a instalação com docker --version.
Linux: permission denied while trying to connect to the Docker daemon socket → Seu usuário não está no grupo docker, ou você não se reconectou após o usermod. Refaça a etapa 3; id -nG deve listar docker.
prerequis exibe 3 GB de memória enquanto a máquina tem 16 → No Windows, o .wslconfig não é levado em conta enquanto você não executar wsl --shutdown e reabrir o Docker Desktop. No macOS, o controle Memory do Docker Desktop não foi aplicado ("Apply & restart").
%UserProfile%\.wslconfig seguido de wsl --shutdown.vm.max_map_count=262144 em /etc/sysctl.conf é obrigatório para Elasticsearch e OpenSearch; o Docker Desktop já faz isso por você no Windows e no macOS../labo.sh prerequis ou .\labo.ps1 prerequis é a sua lista de verificação: só inicie quando a última linha estiver verde.Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.O kit ocupa cerca de 6,3 GB de imagens (Elasticsearch 2,56 GB, Kibana 2,76 GB, Neo4j 0,98 GB) e perto de 12 GB com o perfil OpenSearch (2,83 + 2,62 GB). Se o seu disco estiver apertado, docker system df mostra o que o Docker consome e docker image prune libera as imagens não utilizadas de outros projetos.