Este tutorial orienta você na instalação do Docker em múltiplos hosts usando Ansible e o popular papel mantido pela comunidade geerlingguy.docker
.
Pré-requisitos
Antes de começar, certifique-se de que você possui:
- Ansible instalado em sua máquina de controle. (Guia de Instalação)
- Acesso SSH configurado para seus hosts de destino.
- Usuário com privilégios de sudo (ou acesso root) nos hosts de destino.
Passo 1: Criar o Playbook do Ansible
Crie um arquivo chamado docker-playbook.yml
:
- name: Install Docker using geerlingguy.docker role
hosts: all
become: yes # Use sudo to elevate privileges
gather_facts: yes
roles:
- geerlingguy.docker
Este playbook simples aplica o papel de instalação do Docker a todos os hosts especificados.
Passo 2: Definir Dependências de Papel e Coleção
Crie um arquivo chamado requirements.yml
para definir claramente as dependências externas de papel e coleção do Ansible:
roles:
- name: geerlingguy.docker
version: 7.4.1 # Specify version for consistency
collections:
- name: community.docker
version: ">=3.0.0"
Especificar versões garante implantações repetíveis e consistentes.
Passo 3: Instalar Papéis e Coleções Necessárias
Execute o seguinte comando para instalar as dependências especificadas em requirements.yml
:
ansible-galaxy install -r requirements.yml
Este comando busca e instala tanto o papel quanto a coleção.
Passo 4: Executar o Playbook
Execute o playbook usando a interface de linha de comando do Ansible. Você pode especificar seu inventário inline para simplicidade:
ansible-playbook docker-playbook.yml -i "host1,host2," -u root
Substitua host1
e host2
pelos nomes de host ou endereços IP reais de seus alvos.
Nota:
- A vírgula no final do inventário inline é obrigatória.
- A opção
-u root
define o usuário que o Ansible usa para se conectar aos hosts; modifique conforme sua configuração SSH.
Verificando a Instalação do Docker
Após executar o playbook, você pode verificar a instalação do Docker em cada host executando:
ssh root@host1 docker --version
ssh root@host2 docker --version
Você deve ver uma saída semelhante a:
Docker version 26.1.3, build XXXXXXX
Conclusão
Seguindo este método estruturado, você aproveita eficientemente o Ansible para instalar o Docker de forma consistente e confiável em múltiplos servidores, simplificando a gestão de sua infraestrutura.