Construindo ambiente PostgreSQL no Docker: Guia Passo a Passo

Nathalia Friederichs
5 min readJan 29, 2024

--

Antes de qualquer coisa, vamos para uma breve explicação do que é o Docker.

Docker é uma plataforma de código aberto que facilita a criação, distribuição e execução de aplicativos em containeres. Containeres são ambientes isolados que contêm tudo o que é necessário para executar um aplicativo, incluindo código, bibliotecas, dependências e configurações. Eles são semelhantes a máquinas virtuais, mas são mais leves e eficientes em termos de recursos.

Algumas das principais características e conceitos relacionados ao Docker incluem:

  1. Imagens: Uma imagem Docker é um pacote que contém todo o necessário para executar um aplicativo, incluindo o código-fonte, bibliotecas, dependências e configurações. As imagens são usadas como modelos para criar containeres.
  2. Containeres: Um container Docker é uma instância em execução de uma imagem. Eles são isolados uns dos outros e da máquina host, tornando-os consistentes e previsíveis em diferentes ambientes.
  3. Dockerfile: É um arquivo de configuração que define como construir uma imagem Docker. Ele descreve as etapas para criar a imagem, especificando quais dependências instalar, como configurar o ambiente e muito mais.
  4. Docker Hub: É um repositório público e privado de imagens Docker mantido pela Docker, Inc. Você pode encontrar imagens prontas para uso e compartilhar suas próprias imagens no Docker Hub.
  5. Orquestração de containeres: O Docker pode ser usado em orquestração de containeres, o que significa que você pode gerenciar clusters de containeres para dimensionar aplicativos, equilibrar a carga e garantir alta disponibilidade. O Docker Swarm e o Kubernetes são duas das ferramentas populares para essa finalidade.

O primeiro passo para criar um ambiente no Docker é instalar o Docker na máquina. Para isso basta acessar o site do Docker: https://www.docker.com/products/docker-desktop/

e escolher o download para o seu sistema operacional.

Para escolher e encontrar imagens, basta procurar no Docker Hub https://hub.docker.com/search?q= o que deseja.

PostgreSQL

Para criar um ambiente PostgreSQL no Docker, você pode seguir os passos abaixo.

Passo 1: Baixe a imagem do PostgreSQL

Você pode baixar a imagem do PostgreSQL a partir do Docker Hub.

https://hub.docker.com/_/postgres/

docker pull postgres

Passo 2: Crie um container PostgreSQL

Agora que você tem a imagem do PostgreSQL baixada, você pode criar um container com a seguinte linha de comando:

docker run --name meu-postgres -e POSTGRES_PASSWORD=minha_senha -d -p 5432:5432 postgres
  • meu-postgres é o nome do container (você pode escolher um nome diferente se preferir).
  • minha_senha é a senha que você deseja definir para o usuário “postgres” no PostgreSQL.
  • A opção -d inicia o container em segundo plano.
  • A opção -p 5432:5432 mapeia a porta 5432 do container para a porta 5432 do host, permitindo que você se conecte ao PostgreSQL do host.

Passo 3: Acessando o PostgreSQL

Agora que o container PostgreSQL está em execução, você pode acessá-lo usando o pgadmin, para isso, precisará baixar a imagem do pgAdmin do Docker Hub https://hub.docker.com/r/dpage/pgadmin4/ utilizando o código:

docker pull dpage/pgadmin4

Depois disso é preciso criar um container para a execução do pgadmin. Para isso, basta usar o código:

docker run --name teste-pgadmin -p 15432:80 -e "PGADMIN_DEFAULT_EMAIL=meu_email@teste.com.br" -e "PGADMIN_DEFAULT_PASSWORD=minha_senha" -d dpage/pgadmin4
  • name é o nome do container que vai ser criado.
  • A opção -p 15432:80 mapeia a porta 15432 que acontece a comunicação com o pgAdmin que será mapeada na porta 80.
  • A opção PGADMIN_DEFAULT_EMAIL será o login que você usará para acessar o pgAdim.
  • A opção PGADMIN_DEFAULT_PASSWORD será a senha que você usará para acessar o pgadmin.

Agora basta acessar o pgAdmin utilizado o https://localhost:15432 e a seguinte tela irá aparecer:

Após logar com o email e senha definidos, o painel principal irá aparecer

Agora só falta criar um Server para poder começar a utilizar o PostgreSQL. Para isso basta seguir o passo a passo:

O próximo passo é dar um nome para o servidor.

  • No host name/address colocamos o nome host.docker.internal
  • No port, colocamos a porta que definimos para nosso container postgres
  • No username, informamos o usuário default
  • Password colocamos a senha que definimos, no caso, minha_senha

Ao fazer todo esse passo a passo, você terá uma tela parecida com essa:

Você agora tem um ambiente PostgreSQL e pgAdmin em execução no Docker e pode começar a criar bancos de dados e tabelas conforme necessário.

Ao seguir o passo a passo deste artigo, você pode criar e configurar rapidamente containeres Docker para o PostgreSQL e o PgAdmin, aproveitando os benefícios da virtualização de containeres para desenvolvimento e testes. Isso não apenas simplifica a administração do banco de dados, mas também facilita a colaboração e a manutenção de ambientes de desenvolvimento consistentes.

É importante mencionar que, ao usar containeres Docker em ambientes de produção, é essencial considerar aspectos de segurança, desempenho e escalabilidade. Afinal, essa abordagem, embora valiosa para o desenvolvimento, requer uma avaliação cuidadosa e adaptação para atender às demandas de produção.

--

--

Nathalia Friederichs

Back End & Databases Developer | Solving Problems with Code | Data Enthusiast