Docker - docker-compose

Fichero docker-compose.yml

services:
  postgres_instance:
    container_name: postgres_instance
    image: postgres:17.2
    restart: unless-stopped
    environment:
      - POSTGRES_USER=pruebas
      - POSTGRES_PASSWORD=pruebas
      - POSTGRES_DB=pruebas
      - POSTGRES_INITDB_ARGS="--auth-host=scram-sha-256"
    ports:
      - "55432:5432"
    volumes:
      - ./var/lib/postgresql/data:/var/lib/postgresql/data
volumes:
  postgres_instance_data:

Realizar copias se seguridad

Script bash para copias de seguridad de bases de datos en contenedores docker

#!/bin/bash

FECHA=$(date +"%Y%m%d-%H%M")
DEST=/var/backups/postgres
mkdir -p "$DEST"

docker exec db pg_dump -U usuario basedatos > "$DEST/db-$FECHA.sql"
gzip "$DEST/db-$FECHA.dump"