[TUTORIAL] Como instalar e rodar o banco Postgres no docker
Como criar um banco de dados postgres em um container docker
Esse tutorial visa mostrar para quem já tem o docker instalado e configurado.
Caso ainda não tenha, faça o download no site oficial: https://www.docker.com/products/docker-desktop/
Para baixar a imagem do postgres utilize o comando abaixo:
docker pull postgres
Ele irá baixar a última versão disponível:
Após a imagem estar baixada, ao rodar o comando:
docker images
A imagem do postgres aparecerá listada:
Agora vamos criar o container do postgres setando algumas configurações inicias para o banco:
docker run --name my-postgres -e POSTGRES_PASSWORD=mypassword -e POSTGRES_DB=mydatabase -p 5432:5432 -d postgres
—name: nome do container
-e POSTGRES_PASSWORD: senha para conectar ao banco
-e POSTGRES_DB: irá criar um database
-p: porta que será exposta na sua maquina para fazer o de para com a porta do container
-d: qual imagem docker que será usada pelo comando docker run
Rodando o comando acima e utilizando o comando abaixo:
docker ps
Será possíver visualizar que o container do postgres foi criado com o nome my-postgres e que já esta em execução:
Pronto, a sua màquina já está rodando um banco postgres na porta 5432 com um database chamado mydatabase.
Bonus: Vamos instalar também o pgadmin no docker para visualizar e conectar ao banco.
Primeiro, baixe a imagem do pgadmin:
docker pull dpage/pgadmin4
Após o imagem baixada crie o container:
docker run -p 5050:80 -e [email protected] -e PGADMIN_DEFAULT_PASSWORD=sua_senha -d dpage/pgadmin4
Substitua "[email protected]" pelo endereço de e-mail que você deseja usar para se conectar ao pgAdmin e "sua_senha" pela senha que você deseja usar.
Abra um navegador e acesse o endereço "http://localhost:5050" para acessar a interface do pgAdmin.
Entre com o email e senha que você definiu na criação do container:
Após logar, clique com o botão direito em cima de Server, vá em Register e clique em Server:
De um nome para o seu server:
Na aba de Connection, defina:
Host name/address: vou explicar logo abaixo
Port: 5432
Maintenance: mydatabase (foi definido na hora de rodar o docker run)
Username: postgres (default)
Password: mypassword (foi definido na hora de rodar o docker run)
Para descobrir qual é o Host name, primeiro você dever rodar o comando abaixo para descobrir o CONTAINER ID do banco postgres:
docker ps
Com o id do container em mãos rode o comando:
docker inspect fa666e2b8fe4
Nesse caso o id do meu container não deve ser igual o seu, então se atente para copiar o ID que aparece ao rodar o docker ps.
No final do que foi listado, pegue o número da tag IPAddress:
Rasurei metade pois ainda não sei se a imagem pode contem dados sensiveis, então se você sabe a resposta, deixo no comentário aqui em baixo para compartilhar conhecimento :)
Agora é só preencher o valor do Host name no pgadmin e clicar em Save:
Conectado ao banco:
Agora você consegue usar para estudos de sql, para uma aplicação local, entre outros