Skip to content

Postgres docker-compose

Prepare local path

mkdir -p ./data/{db,pgadmin}
chown 5050:5050 ./data/pgadmin

docker-compose.yml

services:

  db:
    image: 'postgres:latest'
    container_name: db
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: password 
      POSTGRES_DB: db1
    volumes:
      - ./data-db/:/var/lib/postgresql/data/

  pgadmin:
    container_name: pgadmin
    image: dpage/pgadmin4
    ports:
      - 8083:80
    depends_on:
      - db
    environment:
      PGADMIN_DEFAULT_EMAIL: [email protected]
      PGADMIN_DEFAULT_PASSWORD: password
    volumes:
      - ./data-pgadmin/:/var/lib/pgadmin/

Start

docker compose up -d

Connect to PG console

docker exec -it -u postgres db psql

... continue at postgresql