Docker Compose: Exemplo Prático para Iniciantes
O Docker Compose é uma ferramenta poderosa e simplificada para a criação e gerenciamento de ambientes multi-container no Docker.
Glossário
O que é o Docker Compose e como funciona?
O Docker Compose é uma ferramenta que permite a definição e execução de aplicativos multi-container no Docker. Com ele, é possível criar e gerenciar ambientes complexos, compostos por vários serviços, de forma simplificada e automatizada.
Funcionamento do Docker Compose
O funcionamento do Docker Compose é baseado em arquivos de configuração YAML, nos quais são especificadas as características de cada serviço necessário para o funcionamento do aplicativo. Esses arquivos descrevem as dependências, portas, volumes, redes e outros detalhes que compõem a infraestrutura do ambiente.
Ao executar o comando “docker-compose up”, o Docker Compose lê o arquivo de configuração e cria todos os recursos necessários para o funcionamento do aplicativo, como containers, redes e volumes. Ele também gerencia a comunicação entre os serviços, facilitando a interação entre eles.
Exemplo prático de uso do Docker Compose para iniciantes
Vamos agora ver um exemplo prático de uso do Docker Compose para iniciantes. Suponha que você esteja desenvolvendo uma aplicação web que consiste em um frontend em React e um backend em Node.js, ambos utilizando bancos de dados diferentes. Com o Docker Compose, você pode criar um ambiente de desenvolvimento completo com apenas alguns comandos.
Primeiro, crie um arquivo chamado “docker-compose.yml” e defina os serviços necessários para a sua aplicação. Por exemplo:
version: '3'
services:
frontend:
build: ./frontend
ports:
- 3000:3000
volumes:
- ./frontend:/app
depends_on:
- backend
backend:
build: ./backend
ports:
- 8080:8080
volumes:
- ./backend:/app
depends_on:
- database
database:
image: mysql:latest
environment:
- MYSQL_ROOT_PASSWORD=mysecretpassword
- MYSQL_DATABASE=mydatabase
volumes:
- ./data:/var/lib/mysql
Nesse exemplo, temos três serviços: frontend, backend e database. O serviço frontend é baseado em um Dockerfile localizado na pasta “./frontend”, expõe a porta 3000 para acesso ao aplicativo React e possui um volume para sincronizar o código fonte com o container. O serviço backend segue a mesma lógica, mas utiliza um Dockerfile na pasta “./backend” e expõe a porta 8080 para o acesso ao servidor Node.js. O serviço database utiliza a imagem do MySQL mais recente, define as variáveis de ambiente para a criação do banco de dados e utiliza um volume para persistir os dados.
Para iniciar o ambiente, basta executar o comando “docker-compose up” na mesma pasta do arquivo “docker-compose.yml”. O Docker Compose irá criar os containers, redes e volumes necessários e iniciar a execução dos serviços.



Com o ambiente em execução, você pode acessar o frontend em seu navegador através do endereço “http://localhost:3000” e o backend em “http://localhost:8080”. Além disso, o Docker Compose facilita a escalabilidade dos serviços, permitindo a replicação de containers e a distribuição de carga.
Esse exemplo prático ilustra como o Docker Compose pode simplificar a criação e gerenciamento de ambientes complexos, facilitando o desenvolvimento de aplicações multi-container.
Recursos adicionais e dicas para otimizar o uso do Docker Compose
Além do exemplo prático apresentado, existem diversos recursos e dicas que podem ser úteis para otimizar o uso do Docker Compose. Aqui estão algumas sugestões:
- Utilize variáveis de ambiente: O Docker Compose permite a definição de variáveis de ambiente nos arquivos de configuração YAML. Isso é especialmente útil para passar informações sensíveis, como senhas, de forma segura para os serviços.
- Utilize redes customizadas: Por padrão, o Docker Compose cria uma rede interna para os serviços. No entanto, é possível criar redes customizadas para separar os serviços em diferentes segmentos de rede e controlar a comunicação entre eles.
- Utilize volumes para persistência de dados: O Docker Compose permite a criação de volumes para persistir os dados gerados pelos serviços. Isso evita a perda de dados quando os containers são reiniciados ou removidos.
- Utilize imagens oficiais e confiáveis: Ao definir os serviços no arquivo de configuração YAML, é importante utilizar imagens oficiais e confiáveis do Docker Hub ou de outros repositórios. Isso garante a segurança e a qualidade das imagens utilizadas em seu ambiente.
- Monitore e gerencie os serviços: O Docker Compose possui comandos para monitorar e gerenciar os serviços em execução. Utilize esses comandos para verificar o status dos containers, visualizar os logs e reiniciar os serviços quando necessário.
Conclusão
Neste artigo, exploramos o Docker Compose e vimos como essa ferramenta pode simplificar a criação e gerenciamento de ambientes multi-container. Através de um exemplo prático, demonstramos como utilizar o Docker Compose para criar um ambiente de desenvolvimento completo com frontend, backend e banco de dados.
Além disso, fornecemos algumas dicas e recursos adicionais para otimizar o uso do Docker Compose, como o uso de variáveis de ambiente, redes customizadas, volumes e imagens confiáveis.
Se você é um iniciante no Docker, o Docker Compose pode ser uma excelente ferramenta para começar a explorar o mundo dos containers. Com ele, você poderá criar ambientes complexos de forma simples e automatizada, aumentando a sua produtividade no desenvolvimento de aplicações.
Experimente utilizar o Docker Compose em seus projetos e aproveite todos os benefícios que essa ferramenta pode oferecer. Docker Compose: Exemplo Prático para Iniciantes é uma ótima maneira de dar os primeiros passos nesse universo incrível dos containers.
Como configurar um ambiente com Docker Compose passo a passo
Configurar um ambiente com Docker Compose é uma tarefa simples e direta. Nesta seção, vamos apresentar um passo a passo para ajudá-lo a configurar seu ambiente utilizando o Docker Compose.
Passo 1: Instalação do Docker Compose
Antes de começar, certifique-se de ter o Docker Compose instalado em sua máquina. Você pode fazer o download do Docker Compose no site oficial e seguir as instruções de instalação específicas para o seu sistema operacional.
Passo 2: Definindo o arquivo de configuração
O próximo passo é criar um arquivo de configuração YAML para definir os serviços e as características do ambiente que você deseja configurar. O arquivo de configuração é geralmente chamado de “docker-compose.yml” e deve ser criado na pasta raiz do seu projeto.
Passo 3: Especificando serviços
Dentro do arquivo de configuração YAML, você pode especificar os serviços que deseja configurar. Cada serviço é definido como um bloco separado e possui suas próprias propriedades, como o nome do serviço, a imagem Docker a ser utilizada, portas a serem expostas, variáveis de ambiente, entre outros.
Passo 4: Configurando dependências e volumes
O Docker Compose permite definir dependências entre serviços e configurar volumes para persistência de dados. Por exemplo, se um serviço depende de outro para funcionar corretamente, você pode especificar essa dependência utilizando a propriedade “depends_on”. Além disso, você pode definir volumes para que os dados gerados pelos serviços sejam persistidos mesmo após a reinicialização dos containers.



Passo 5: Executando o ambiente
Após configurar todos os serviços e suas dependências, você está pronto para executar o ambiente com o Docker Compose. Para isso, basta executar o comando “docker-compose up” na pasta raiz do seu projeto. O Docker Compose irá ler o arquivo de configuração YAML e criar os containers, redes e volumes necessários para o ambiente.
Passo 6: Gerenciando o ambiente
Uma vez que o ambiente esteja em execução, você pode gerenciá-lo utilizando os comandos do Docker Compose. Por exemplo, você pode verificar o status dos containers com o comando “docker-compose ps”, parar o ambiente com o comando “docker-compose down” ou reiniciar os containers com o comando “docker-compose restart”.
Recursos adicionais e dicas para otimizar o uso do Docker Compose
Além do passo a passo para configurar um ambiente com o Docker Compose, existem alguns recursos adicionais e dicas que podem ajudar a otimizar o seu uso. Aqui estão algumas sugestões:
- Utilize arquivos de sobreposição (override files): O Docker Compose permite utilizar arquivos de sobreposição para substituir ou adicionar configurações aos serviços definidos no arquivo principal de configuração. Isso é útil para personalizar o ambiente para diferentes cenários, como desenvolvimento, teste e produção.
- Utilize o modo detached: Ao executar o ambiente com o Docker Compose, por padrão os logs dos serviços são exibidos no terminal. No entanto, para ambientes de produção, pode ser mais adequado executar os serviços no modo detached, ou seja, em segundo plano. Para isso, basta adicionar a opção “-d” ao comando “docker-compose up”.
- Explore os comandos do Docker Compose: O Docker Compose oferece uma variedade de comandos que podem ser úteis no gerenciamento do ambiente. Além dos comandos básicos, como “up”, “down” e “restart”, você pode utilizar comandos como “logs” para visualizar os logs dos serviços, “exec” para executar comandos dentro de um container e “scale” para escalar a quantidade de containers de um serviço.
- Mantenha os arquivos de configuração versionados: É uma boa prática manter os arquivos de configuração YAML do Docker Compose versionados em um sistema de controle de versão, como o Git. Isso facilita o controle de alterações e o trabalho em equipe.
- Consulte a documentação oficial: O Docker Compose possui uma documentação abrangente e detalhada que pode ajudar a solucionar dúvidas e a explorar recursos avançados. Consulte a documentação oficial sempre que necessário.
Conclusão
Neste artigo, apresentamos um passo a passo para configurar um ambiente com o Docker Compose. Vimos como instalar o Docker Compose, definir o arquivo de configuração YAML, especificar serviços, configurar dependências e volumes, executar o ambiente e gerenciá-lo.
Além disso, fornecemos algumas dicas e recursos adicionais para otimizar o uso do Docker Compose, como utilizar arquivos de sobreposição, executar os serviços no modo detached, explorar os comandos do Docker Compose, versionar os arquivos de configuração e consultar a documentação oficial.
O Docker Compose é uma ferramenta poderosa para simplificar a configuração e o gerenciamento de ambientes com múltiplos containers. Com ele, você pode criar ambientes complexos de forma simples e automatizada, aumentando a eficiência no desenvolvimento de aplicações.
Experimente utilizar o Docker Compose em seus projetos e aproveite todos os benefícios que essa ferramenta pode oferecer. Com o Docker Compose: Exemplo Prático para Iniciantes, você estará preparado para dar os primeiros passos no mundo dos containers e aproveitar todas as vantagens que essa tecnologia pode proporcionar.
A Awari é a melhor plataforma para aprender sobre ciência de dados no Brasil.
Aqui você encontra cursos com aulas ao vivo, mentorias individuais com os melhores profissionais do mercado e suporte de carreira personalizado para dar seu próximo passo profissional e aprender habilidades como Data Science, Data Analytics, Machine Learning e mais.
Já pensou em aprender de maneira individualizada com profissionais que atuam em empresas como Nubank, Amazon e Google? Clique aqui para se inscrever na Awari e começar a construir agora mesmo o próximo capítulo da sua carreira em dados.


