Execução de múltiplos conteiners com Docker Compose
Qual desenvolvedor nunca teve que subir uma aplicação em uma máquina virtual e teve que instalar algum banco de dados ou algum java da vida pra executar a aplicação. Para evitar essas dores de cabeça geralmente é utilizado o Docker para iniciar um contêiner contendo um banco de dados ou algum servidor exemplo Tomcat. Nesse artigo irei explicar como o Docker Compose pode facilitar sua vida e inicialização vários contêiners com algumas configurações bem simples. O que é Docker Compose Basicamente um ferramenta para gerenciar vários conteiners Docker, informando os serviços, dependências, volumes e etc. Nesse tutorial vamos falar do simples, se é uma ferramenta que é pra facilitar, pra que complicar? Configurações necessárias Para isso é necessário ter o Docker Engine instalado na sua máquina, agora copie o código abaixo em um arquivo chamado docker-compose.yaml Nosso código: version: '3' services: web: image: nginx volumes: - ./templates:/etc/nginx/templates/default.conf ports: - "8080:80" Definimos o version que é a versão do formato do nosso código. Definimos o services que são os conteiners que desejamos utilizar e dentro deles temos alguma configurações, como: A imagem que está no DockerHub, volumes para persistir os dados do conteiner e ports para definir como iremos acessar aquele recurso. Agora ao executar o comando docker compose up iremos baixar as imagens e iniciar os contêiners, agora se quisermos dar o mesmo comando e execucar em segundo plano fazemos assim docker compose up -d, para parar a execução no nosso terminal só dar um Ctrl+C ou quando executar em segundo plano docker compose stop. Adicionando um banco de dados Agora iremos adicionar um Postgres em nosso projeto pra isso copie o código: version: '3' services: web: image: nginx volumes: - ./templates:/etc/nginx/templates/default.conf ports: - "8080:80" db: image: postgres:latest restart: always environment: - POSTGRES_PASSWORD=123 ports: - "5433:5432" Com isso iremos iniciar um servidor nginx e um banco de dados em somente uma configuração, sem precisar ter instalado nada em nossas máquinas, apenas com a dockerização usando o Docker.

Qual desenvolvedor nunca teve que subir uma aplicação em uma máquina virtual e teve que instalar algum banco de dados ou algum java da vida pra executar a aplicação.
Para evitar essas dores de cabeça geralmente é utilizado o Docker para iniciar um contêiner contendo um banco de dados ou algum servidor exemplo Tomcat.
Nesse artigo irei explicar como o Docker Compose pode facilitar sua vida e inicialização vários contêiners com algumas configurações bem simples.
O que é Docker Compose
Basicamente um ferramenta para gerenciar vários conteiners Docker, informando os serviços, dependências, volumes e etc.
Nesse tutorial vamos falar do simples, se é uma ferramenta que é pra facilitar, pra que complicar?
Configurações necessárias
Para isso é necessário ter o Docker Engine instalado na sua máquina, agora copie o código abaixo em um arquivo chamado docker-compose.yaml
Nosso código:
version: '3'
services:
web:
image: nginx
volumes:
- ./templates:/etc/nginx/templates/default.conf
ports:
- "8080:80"
Definimos o version que é a versão do formato do nosso código.
Definimos o services que são os conteiners que desejamos utilizar e dentro deles temos alguma configurações, como:
A imagem que está no DockerHub, volumes para persistir os dados do conteiner e ports para definir como iremos acessar aquele recurso.
Agora ao executar o comando docker compose up
iremos baixar as imagens e iniciar os contêiners, agora se quisermos dar o mesmo comando e execucar em segundo plano fazemos assim docker compose up -d
, para parar a execução no nosso terminal só dar um Ctrl+C ou quando executar em segundo plano docker compose stop
.
Adicionando um banco de dados
Agora iremos adicionar um Postgres em nosso projeto pra isso copie o código:
version: '3'
services:
web:
image: nginx
volumes:
- ./templates:/etc/nginx/templates/default.conf
ports:
- "8080:80"
db:
image: postgres:latest
restart: always
environment:
- POSTGRES_PASSWORD=123
ports:
- "5433:5432"
Com isso iremos iniciar um servidor nginx e um banco de dados em somente uma configuração, sem precisar ter instalado nada em nossas máquinas, apenas com a dockerização usando o Docker.