DJ

Diogo Júnior30/10/2025 14:15
Compartilhe

Como instalar Docker e Docker Compose em Windows, macOS e Linux

    Bom dia, boa tarde ou boa noite a todos e todas que estão realizando o bootcamp da DIO focado na Avanade, a instalação do Docker Compose foi apresentada de forma prática, utilizando Docker Desktop, que já inclui o Compose integrado. A explicação mostrou como iniciar containers e configurar arquivos docker-compose.yml, apenas utilizando o comando vi para criar e editar o arquivo, sem mencionar outros sistemas ou editores.

    É importante complementar que o método vi funciona diretamente em Linux e no terminal do macOS, mas no Windows, especialmente no PowerShell, ele não está disponível por padrão. Nesse caso, ou se você prefere uma interface gráfica, pode usar editores como VS Code ou Sublime Text, que funcionam em todas as plataformas:

    • VS Code:
    code docker-compose.yml
    
    • Sublime Text:
    subl docker-compose.yml
    

    Além disso, em Linux, a instalação do Docker e Docker Compose precisa ser feita manualmente via repositórios oficiais, enquanto no Windows e macOS, o Docker Desktop já resolve a instalação de ambos de forma integrada.

    1. Instalação no Windows

    Pré-requisitos

    • Windows 10/11 (Professional, Enterprise ou Education)
    • Habilitar o WSL 2 (Windows Subsystem for Linux)

    Passos

    1. Baixe o Docker Desktop:
    2. https://www.docker.com/products/docker-desktop
    3. Execute o instalador e siga as instruções.
    4. Habilite o WSL 2 se ainda não estiver habilitado:
    wsl --install
    
    1. Verifique a instalação:
    docker --version
    docker compose version
    
    1. Criando o arquivo docker-compose.yml
    2. No Windows, você pode criar e editar o arquivo usando:
    • Notepad:
    notepad docker-compose.yml
    
    • VS Code:
    code docker-compose.yml
    
    • Sublime Text:
    subl docker-compose.yml
    
    ⚠️ O vi não funciona no PowerShell do Windows.

    2. Instalação no macOS

    Pré-requisitos

    • macOS 10.15 ou superior

    Passos

    1. Baixe o Docker Desktop para Mac:
    2. https://www.docker.com/products/docker-desktop
    3. Abra o arquivo .dmg e arraste o Docker para a pasta Aplicativos.
    4. Abra o Docker Desktop e siga as instruções.
    5. Verifique a instalação:
    docker --version
    docker compose version
    
    1. Criando o arquivo docker-compose.yml
    2. No macOS, você pode usar:
    • Terminal com vi:
    vi docker-compose.yml
    
    • VS Code:
    code docker-compose.yml
    
    • Sublime Text:
    subl docker-compose.yml
    

    3. Instalação no Linux (Ubuntu/Debian)

    Passos

    1. Atualize os pacotes:
    sudo apt update
    sudo apt install apt-transport-https ca-certificates curl software-properties-common
    
    1. Adicione o repositório oficial do Docker:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
    1. Instale o Docker:
    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io
    
    1. Instale o Docker Compose:
    sudo curl -L "https://github.com/docker/compose/releases/download/v2.22.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    
    1. Verifique a instalação:
    docker --version
    docker-compose --version
    
    1. Criando o arquivo docker-compose.yml
    2. No Linux, você pode usar:
    • Terminal com vi:
    vi docker-compose.yml
    
    • VS Code:
    code docker-compose.yml
    
    • Sublime Text:
    subl docker-compose.yml
    

    4. Testando a instalação

    Execute o seguinte comando para testar se o Docker está funcionando:

    docker run hello-world
    

    Se aparecer uma mensagem de boas-vindas, o Docker está instalado corretamente.

    5. Criando um exemplo de Docker Compose com MongoDB

    Crie um arquivo chamado docker-compose.yml com o seguinte conteúdo, que configura um container MongoDB:

    version: '2.39.2'
    
    services:
    db:
      image: mongo
      container_name: db
      restart: always
      environment:
        - MONGO_INITDB_ROOT_USERNAME=dio
        - MONGO_INITDB_ROOT_PASSWORD=dio
      ports:
        - "27017:27017"
      volumes:
        - /c/Users/SEU_USUARIO/dbdata:/data/db
    
    • Execute o Compose:
    docker compose up
    
    • O MongoDB ficará disponível na porta 27017. Você pode conectar-se usando qualquer cliente MongoDB, por exemplo o MongoDB Compass, com o usuário e senha configurados (dio/dio).

    Conclusão

    Agora você tem o Docker e o Docker Compose instalados em qualquer plataforma, sabendo como criar e editar arquivos docker-compose.yml usando vi, VS Code, Sublime Text ou editores nativos, dependendo do sistema:

    • Windows e macOS: via Docker Desktop, adaptando o editor de arquivos no Windows
    • Linux: instalação manual via repositórios oficiais, com vi disponível no terminal

    Com isso, você consegue criar containers rapidamente e iniciar projetos multi-container usando Docker Compose.

    Compartilhe
    Comentários (1)
    DIO Community
    DIO Community - 30/10/2025 14:29

    Excelente, Diogo! Que artigo cirúrgico, essencial e de altíssimo valor DevOps! Você abordou a instalação e o uso do Docker e Docker Compose não apenas para o Bootcamp Avanade, mas como um guia multiplataforma (Windows, macOS e Linux).

    É fascinante ver como você desmistificou a ferramenta vi (que não funciona no PowerShell do Windows) e forneceu os comandos alternativos (code, subl, notepad), o que é crucial para a produtividade em ambientes diversos.

    Qual você diria que é o maior desafio para um desenvolvedor ao migrar uma aplicação monolítica para uma arquitetura de microsserviços, em termos de gerenciamento da comunicação entre os serviços e de distribuição da lógica de negócio, em vez de apenas focar em fazer a aplicação funcionar?