Jeito facil de utilizar PostgreSQL com docker
Tags: beginners, docker, postgres, programming
Published: 2023-08-27 00:35:36

No dia a dia de um desenvolvedor é muito comum precisarmos rodar projetos de terceiros e para isso precisamos instalar e configurar bancos de dados em nossas máquinas. Há também casos em que já temos algum banco rodando localmente e precisamos criar um novo, isso acaba dificultando a configuração.

Para contonar esse problema podemos utilizar o docker.


**Passo 1: Instalando o Docker**
Se você ainda não tem o Docker instalado, visite o site oficial do Docker (https://www.docker.com/) e siga as instruções para baixar e instalar a versão para o seu sistema operacional.

**Passo 2: Baixando a Imagem do PostgreSQL**
O Docker Hub é o repositório oficial de imagens do Docker, onde você pode encontrar uma ampla variedade de imagens prontas para uso. Para baixar a imagem do PostgreSQL, abra o terminal e execute o seguinte comando:

```
docker pull postgres
```
Isso baixará a versão mais recente da imagem do PostgreSQL para o seu sistema. Esse comando também serve para baixar outras imagens como por exemplo cimg/postgres ou mysql.

Caso queira listar as imagens do seu docker você pode utilizar:

```
docker imagens
```

**Passo 3: Criando um Contêiner PostgreSQL**
Com a imagem do PostgreSQL baixada, você pode criar um contêiner com base nessa imagem. Utilize o seguinte comando para criar um contêiner com postgres:

```
docker run --name nome-container -e POSTGRES_PASSWORD=minhasenha -d -p 5432:5432 postgres
```

Pronto! facil né?

Com isso o container irá ser levantado e estará pronto para ser utilizado. Para ter certeza que ocorreu tudo certo,  em seu terminal irá aparecer o id do container que acabou de levantar.

_Explicações sobre o comando._

--name : serve para você nomear como quer identificar o seu container

-d : serve para que o container fique rodando em background liberando o terminal onde executou o comando fique livre para utilização.

-p : serve para você mapear a porta em que ficará acessivel fora do container e para qual porta será repassada internamente do container.

-e: serve para você definir variáveis de ambiente como por exemplo nome do banco (POSTGRES_DB), nome de usuario (POSTGRES_USER) e senha do banco (POSTGRES_PASSWORD)

caso você não informe essas variáves, por padrão o postgres usará o nome de usuario como _postgres _e definirá o nome do banco com mesmo nome de usuário.

Lembre-se dessas informações pois irá precisar para se autenticar no banco quando for acessar o seu SGBD.


**Gerenciando o Contêiner PostgreSQL**

Agora que você sabe como criar um container postgres, você pode criar vários com própositos e projetos diferentes.

Para listar os contêiners criado, utilizar:

```
docker ps
```

Para parar o contêiner, você pode executar:

```
docker stop nome-do-container
```

Para iniciar novamente:

```
docker start nome-do-container
```

Para apagar um container utilize:

```
docker kill nome-do-container ou ID
```

_Lembre-se de que, ao parar ou remover o contêiner, você perderá todos os dados armazenados nele, a menos que tenha configurado um volume para persistência dos dados._

Executar o PostgreSQL no Docker oferece uma maneira eficiente e portável de desenvolver e testar aplicativos que dependem desse banco de dados. Ao seguir este guia, você estará pronto para criar, executar e gerenciar um contêiner PostgreSQL em pouco tempo. Isso simplificará seu fluxo de trabalho de desenvolvimento e permitirá que você experimente com mais facilidade.

fontes de referências:
https://hub.docker.com/_/postgres
https://stack.desenvolvedor.expert/appendix/docker/comandos.html