Criar um arquivo docker-compose.yml simples
Nesta etapa, criaremos um arquivo docker-compose.yml simples. Docker Compose é uma ferramenta para definir e executar aplicações Docker de múltiplos contêineres. Com o Compose, você usa um arquivo YAML para configurar os serviços da sua aplicação. Então, com um único comando, você cria e inicia todos os serviços a partir da sua configuração.
Antes de criarmos o arquivo docker-compose.yml, precisamos instalar o Docker Compose. Como ele não vem pré-instalado no ambiente LabEx, o instalaremos usando o pip.
Primeiro, vamos atualizar a lista de pacotes e instalar o pip se ele ainda não estiver instalado.
sudo apt update
sudo apt install -y python3-pip
Agora, podemos instalar o Docker Compose usando o pip.
pip install docker-compose
Após a conclusão da instalação, você pode verificar a instalação verificando a versão do Docker Compose.
docker-compose --version
Você deve ver uma saída semelhante a docker-compose version 1.29.2, build 5becea4c.
Agora que o Docker Compose está instalado, vamos criar um diretório para nosso projeto e navegar até ele. Criaremos o arquivo docker-compose.yml dentro deste diretório.
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
Em seguida, criaremos o arquivo docker-compose.yml usando o editor nano.
nano docker-compose.yml
Dentro do editor nano, cole o seguinte conteúdo. Este arquivo docker-compose.yml define um único serviço chamado web que usa a imagem nginx e mapeia a porta 80 do contêiner para a porta 8080 na máquina host.
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "8080:80"
Vamos detalhar este arquivo:
version: '3.8' especifica a versão do formato do arquivo Compose.
services: define os diferentes serviços que compõem sua aplicação.
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. Faremos o pull desta imagem mais tarde, quando iniciarmos o serviço.
ports: mapeia as portas entre o host e o contêiner.
- "8080:80" mapeia a porta 80 dentro do contêiner (onde o Nginx é executado por padrão) para a porta 8080 na sua máquina host. Isso significa que você pode acessar o servidor web Nginx visitando http://localhost:8080 no seu navegador web (ou usando curl no terminal).
Salve o arquivo pressionando Ctrl + X, depois Y e, em seguida, Enter.
Você pode verificar o conteúdo do arquivo usando o comando cat.
cat docker-compose.yml
Você deve ver o conteúdo YAML que acabou de colar.