Construindo ambiente PostgreSQL no Docker: Guia Passo a Passo
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:
- 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.
- 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.
- 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.
- 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.
- 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.