Prepare um arquivo docker-compose.yml simples
Nesta etapa, prepararemos um arquivo docker-compose.yml simples. Antes de começarmos, vamos instalar o Docker Compose. Como o ambiente da VM LabEx não possui o Docker Compose pré-instalado, precisamos instalá-lo manualmente. Faremos o download do binário do Docker Compose e o tornaremos executável.
Primeiro, faça o download do binário do Docker Compose usando curl. Faremos o download da versão 1.29.2, que é compatível com a versão do Docker instalada.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Este comando baixa o binário do Docker Compose da página oficial de lançamentos do GitHub e o salva em /usr/local/bin/docker-compose. As partes $(uname -s) e $(uname -m) detectam automaticamente seu sistema operacional e arquitetura, garantindo que você baixe o binário correto.
Em seguida, precisamos tornar o binário baixado executável.
sudo chmod +x /usr/local/bin/docker-compose
Este comando adiciona permissões de execução ao arquivo docker-compose, permitindo que você o execute como um comando.
Agora, vamos verificar se o Docker Compose está instalado corretamente, verificando sua versão.
docker-compose --version
Você deve ver uma saída semelhante a docker-compose version 1.29.2, build 5becea4c. Isso confirma que o Docker Compose está instalado e pronto para uso.
Agora, vamos criar um arquivo docker-compose.yml simples em seu diretório ~/project. Este arquivo definirá um único serviço usando a imagem nginx.
nano ~/project/docker-compose.yml
Este comando abre o editor de texto nano para criar e editar o arquivo docker-compose.yml. Cole o seguinte conteúdo no editor:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Vamos detalhar este arquivo docker-compose.yml:
version: '3.8' especifica a versão do formato do arquivo Docker Compose.
services: define os serviços (contêineres) que você deseja executar.
web: é o nome do nosso serviço. Você pode escolher qualquer nome que desejar.
image: nginx:latest especifica a imagem Docker a ser usada para este serviço. Neste caso, estamos usando a versão mais recente da imagem oficial do Nginx.
ports: mapeia as portas entre a máquina host e o contêiner. "80:80" mapeia a porta 80 no host para a porta 80 no contêiner. Isso significa que você pode acessar o servidor web Nginx em execução dentro do contêiner visitando http://localhost em seu navegador web (ou o endereço IP da VM).
Salve o arquivo pressionando Ctrl + O, depois pressione Enter e saia do editor pressionando Ctrl + X.
Você criou com sucesso um arquivo docker-compose.yml simples que define um serviço web usando a imagem Nginx. Nas próximas etapas, usaremos este arquivo para criar e gerenciar contêineres.