Prepare um projeto Docker Compose simples
Nesta etapa, prepararemos um projeto Docker Compose simples. Como o Docker Compose não está pré-instalado no ambiente LabEx, primeiro o instalaremos. Docker Compose é uma ferramenta para definir e executar aplicações Docker com múltiplos containers. Com o Compose, você usa um arquivo YAML para configurar os serviços da sua aplicação. Em seguida, com um único comando, você cria e inicia todos os serviços a partir da sua configuração.
Primeiro, vamos instalar o Docker Compose. Faremos o download da versão estável mais recente e a tornaremos executável.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Após a instalação, verifique a instalação checando a versão.
docker-compose --version
Você deve ver o número da versão impresso na saída, confirmando que o Docker Compose está instalado corretamente.
Agora, vamos criar um projeto Docker Compose simples. Criaremos um diretório para nosso projeto e, em seguida, criaremos um arquivo docker-compose.yml dentro dele. Este arquivo definirá um serviço web simples usando a imagem nginx.
Navegue para o diretório do projeto.
cd ~/project
Crie um novo diretório para nosso projeto, por exemplo, my-web-app.
mkdir my-web-app
cd my-web-app
Agora, crie o arquivo docker-compose.yml usando o editor nano.
nano docker-compose.yml
Adicione o seguinte conteúdo ao arquivo docker-compose.yml:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Este arquivo docker-compose.yml define um serviço chamado web. Este serviço usa a imagem Docker nginx:latest e mapeia a porta 80 no host para a porta 80 no container.
Salve o arquivo pressionando Ctrl + X, depois Y e Enter.
Agora, podemos iniciar os serviços definidos no arquivo docker-compose.yml usando o comando docker-compose up. A flag -d executa os containers em modo detached (desconectado), o que significa que eles serão executados em segundo plano.
docker-compose up -d
Este comando irá baixar a imagem nginx:latest (se ainda não estiver presente) e iniciar um container para o serviço web.
Você pode verificar o status dos containers em execução usando o comando docker ps.
docker ps
Você deve ver um container chamado my-web-app_web_1 (ou similar, dependendo do nome do diretório) em execução e encaminhando a porta 80.
Para verificar se o servidor web está em execução, você pode usar curl para acessá-lo.
curl http://localhost
Você deve ver a página HTML de boas-vindas padrão do Nginx na saída. Isso confirma que nosso projeto Docker Compose simples está configurado e funcionando corretamente.