Docker

Conteúdo

  1. Instalação
    1. Linux
    2. macOS
    3. Windows
  2. Criando o projeto
  3. Instalando o projeto
  4. Integração com a IDE
  5. Comandos úteis do Docker
    1. Desligar todos os contêineres em execução:
  6. Comandos úteis do Sail
    1. Documentação oficial
    2. Criando o alias para o Sail
    3. Builda/Rebuilda as imagens do Docker
    4. Iniciando os contêineres
    5. Parando os contêineres

Docker é uma plataforma de software que permite criar, testar e implantar aplicações rapidamente. Ele usa contêineres para empacotar uma aplicação com todas as suas dependências e bibliotecas, garantindo que ela funcione de maneira consistente em diferentes ambientes.

Principais características do Docker:

  1. Portabilidade: Contêineres podem ser executados em qualquer sistema que suporte Docker, garantindo consistência entre ambientes de desenvolvimento, teste e produção.
  2. Isolamento: Cada contêiner é isolado, o que significa que as aplicações e suas dependências não interferem umas nas outras.
  3. Eficiência: Contêineres compartilham o kernel do sistema operacional, tornando-os mais leves e rápidos de iniciar em comparação com máquinas virtuais.

Instalação

Para instalar o Docker, siga as instruções oficiais de acordo com o seu sistema operacional:

Linux

Configure o repositório:

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Importante

Se você usar uma distribuição derivada do Ubuntu, como o Linux Mint, talvez precise usar UBUNTU_CODENAME em vez de VERSION_CODENAME.

Instale o Docker:

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Veja se o docker está rodando corretamente:

systemctl is-active docker

Adicione seu usuário ao grupo docker para executar comandos Docker sem precisar de sudo:

sudo usermod -aG docker ${USER}

Reinicie a máquina ou faça logout e login do sistema para aplicar as alterações.

Veja se deu certo:

docker ps

macOS

Baixe e instale o Docker Desktop for Mac.

Windows

Baixe e instale o Docker Desktop for Windows.

Criando o projeto

Para criar um novo projeto, use o Sail. Assim não precisamos criar o ambiente localmente.

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    laravelsail/php84-composer:latest \
    composer create-project agenciafmd/starter:v11.x-dev nome-do-projeto --ignore-platform-reqs

Instalando o projeto

Quando clonamos o projeto, o Laravel Sail já está configurado. Para instalar as dependências, basta rodar o comando:

docker run --rm \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    laravelsail/php84-composer:latest \
    composer install --ignore-platform-reqs

Integração com a IDE

Para facilitar o desenvolvimento, é possível configurar o Docker para iniciar automaticamente com a IDE.

Para isso, vamos em File > Settings > Tools > Startup Tasks e escolhemos o Sail.

sail ide

Caso não tenha o Sail disponível, você pode criar um novo Shell Script conforme o exemplo abaixo:

sail ide

Agora é possível administrar o Docker diretamente da IDE.

Use o atalho Alt + 8 para abrir a janela de Services

Se for preciso, abra o terminal dentro do seu container.

docker terminal

Comandos úteis do Docker

Desligar todos os contêineres em execução:

docker compose down -v

Comandos úteis do Sail

Documentação oficial

https://laravel.com/docs/11.x/sail

Criando o alias para o Sail

alias sail='sh $([ -f sail ] && echo sail || echo vendor/bin/sail)'

Importante

Para garantir que o comando esteja sempre disponível, você pode adicionar ao arquivo de configuração como ~/.zshrc ou ~/.bashrc, e depois reiniciar o shell.

Builda/Rebuilda as imagens do Docker

sail build --no-cache

Iniciando os contêineres

sail up -d

Parando os contêineres

sail stop