Docker Compose é uma ferramenta poderosa e popular usada para gerenciar e implantar aplicativos baseados em Docker. Ele permite definir, configurar e executar vários Docker contêineres como um único projeto, simplificando a implantação de aplicativos e garantindo a consistência entre os ambientes de desenvolvimento e produção.
Abaixo estão alguns conceitos e exemplos de Docker Compose:
Defina o projeto usando o arquivo docker-compose.yml
No docker-compose.yml arquivo, você pode definir os serviços necessários para sua aplicação. Por exemplo, para implantar um aplicativo Web PHP com um banco de dados MySQL, você pode definir dois serviços da seguinte maneira:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "80:80"
volumes:
- ./app:/var/www/html
db:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: my_database
No trecho de código acima, definimos dois serviços: web e db. O web serviço usará o PHP 7.4 image com Apache, escutará na porta 80 e montará o ./app diretório do host no /var/www/html diretório no arquivo container. O db serviço utilizará o MySQL 5.7 image e definirá algumas variáveis de ambiente necessárias para o banco de dados.
Usando Docker Compose o comando
Depois de definir o projeto no docker-compose.yml arquivo, você pode usar Docker Compose comandos para gerenciar os serviços.
-
Iniciar o projeto:
docker-compose upEste comando iniciará os contêineres dos serviços definidos no
docker-compose.ymlarquivo. -
Pare e remova os recipientes:
docker-compose downEste comando para e remove todos os contêineres relacionados ao projeto.
-
Listar contêineres em execução:
docker-compose psEste comando exibirá o status dos contêineres no projeto.
-
Exibir logs de serviço:
docker-compose logsEste comando mostra os logs dos serviços do projeto.
Variáveis de ambiente e personalização
Docker Compose permite usar variáveis de ambiente para customizar configurações para diferentes ambientes, como desenvolvimento e produção. Você pode usar variáveis de ambiente no docker-compose.yml arquivo e definir seus valores nos .env arquivos correspondentes.
Por exemplo, se você deseja definir uma variável de ambiente para a porta do web serviço, pode adicionar uma linha ao .env arquivo como esta:
WEB_PORT=8080
Então, no docker-compose.yml arquivo, você pode usar esta variável de ambiente assim:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "${WEB_PORT}:80"
volumes:
- ./app:/var/www/html
Ao executar o docker-compose up comando, o web serviço escutará na porta 8080 em vez da porta 80.
Integração com Docker o Swam
Se você deseja implantar seu aplicativo em um ambiente distribuído com vários nós, Docker Compose pode integrar com Docker Swarm. Isso permite que você gerencie serviços em vários nós em um Docker cluster.
Para usar essa integração, basta adicionar as opções --orchestrate ou ao executar comandos or em um ambiente. --with-registry-auth docker stack deploy docker-compose up Swarm
Docker Compose é uma ferramenta útil para desenvolvimento, teste e implantação de aplicativos fáceis e eficientes. Ele minimiza as diferenças entre os ambientes de desenvolvimento e produção, garante consistência no processo de desenvolvimento de software e aumenta a produtividade das equipes de desenvolvimento.

