DEV Community 👩‍💻👨‍💻

Alexandre Fernandes dos Santos
Alexandre Fernandes dos Santos

Posted on

Docker Compose - PostgreSQL

Bom dia meus sqlizers👋(significa amantes de SQL para os desavisados, o mundo às vezes parece grande demais não é mesmo?), gostaria de compartilhar um script para rodar o postgreSQL usando docker-compose e acho que pode ajudar quem quer algo bem simples só botar para rodar e uma dashboard bonitinha para olhar os dados e fazer algumas queries também; Sem muita enrolação bora pro código:

version: '3'

services:
  database_postgres:    
    image: postgres:latest
    ports:
      - 5432:5432
    environment:
      POSTGRES_PASSWORD: password
      POSTGRES_USER: username
      POSTGRES_DB: database_name 
    volumes:
      - ${HOME}/postgres-data/:/var/lib/postgresql/data    

  pgweb:
    container_name: pgweb
    restart: always
    image: sosedoff/pgweb
    ports:
      - 8081:8081
    links:
      - database_postgres:database_postgres
    environment:
      - DATABASE_URL=postgres://username:password@database_postgres:5432/database_name?sslmode=disable
    depends_on:
      - database_postgres
Enter fullscreen mode Exit fullscreen mode

Explicando um pouco mais

Sobre o serviço database_postgres nada muito novo sobre o sol, só algumas variáveis para inicializar o banco com o usuário de forma correta, mas o pulo do gato está em volumes ali eu garanto que uma pasta vai ser criada na pasta home no caso a inicial do usuário e nela que vão ficar os dados do banco então se por acaso você der um docker-compose down seus dados não são perdidos, não é o suficiente para colocar seus sistemas em produção mas é uma mão na roda algumas horas 😂.

Na parte da dash que é o serviço pgweb tem duas partes legais além da url de conexão que é colocada como variável de ambiente, que é o link que é criado entre os serviços basicamente estou colocando um alias para que o container da dash pgweb possa acessar o serviço database_postgres pelo nome database_postgres que é o mesmo inclusive, deixando tudo em casa. O depends_on é somente para ele não subir antes do banco dados para evitar que ele dê crash já que se ele subir antes ele não vai achar o banco de dados.

Então depois de dar um belo docker-compose up já é possível acessar sua bela dashboard pela url http://localhost:8081/ e fazer suas queries ou só visualizar seus dados pelo navegador sem instalar mais nada.

Bem por isso é só, espero que sirva de ajuda para alguém e qualquer dúvida os comentários estão aí pra isso 🤙

Top comments (0)

Create an Account!

👀 Just want to lurk?

That's fine, you can still create an account and turn on features like 🌚 dark mode.