# pul docker image
docker pull postgres

# create persistent data directory
mkdir -p /app/persistent_docker/postgresql_17/data

# start without docker-compose
docker run -d \
        --name postgresql \
        -e POSTGRES_PASSWORD=secret \
        -e PGDATA=/var/lib/postgresql/data/pgdata \
        -v /app/persistent_docker/postgresql_17/data:/var/lib/postgresql/data \
        -p 5432:5432 \
        postgres

# run psql in interactive mode
docker run -it --rm postgres psql -h kamino -U postgres

# docker-compose.yaml
services:
  postgresql:
    image: postgres
    restart: always
    shm_size: 128mb
    container_name: postgresql
    environment:
      - POSTGRES_PASSWORD=secret
      - PGDATA=/var/lib/postgresql/data/pgdata
    volumes:
      - /app/persistent_docker/postgresql_17/data:/var/lib/postgresql/data 
    ports:
      - 5432:5432

