[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 PGADMIN_DEFAULT_EMAIL=seu@email.com -e PGADMIN_DEFAULT_PASSWORD=sua_senha -d dpage/pgadmin4
Substitua "seu@email.com" 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
Mano que maravilha esse tutorial
Estou fazendo um teste técnico e para isso estou criando um estrutura em docker para facilitar a vida. Seu tuto foi perfeito para a criação do postgre local no docker!
Com relação as informações de rede, acho que não tem com o que se preocupar. Todas essas informações dizem respeito ao "NetworkSettings" do seu container, então ta safe. Por exemplo, ninguem poderia usar essas informações para invadir a sua máquina.
Mano, muito top o post! Mas eu não consigo conectar o pgadmin no Postgres do docker!
Consigo acessar por linha de comando, mas pelo pgadmin dá 'timeout'
link imagem
Muito bom!!!
Comecei a trabalhar com Postgres recentemente e estou curtindo demais. Antes tinha trabalhado com SQL Server e Oracle.
Estamos rodando Postgres + Docker para testes de integração automatizado e tá top demais.