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.

Mar 11, 2025 - 01:12
 0
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.