Para instalar PostgreSQL desde Docker Hub con “todas las opciones” (volúmenes, red, variables de entorno y persistencia). Esto evita comandos largos en la terminal y asegura que tus datos no se pierdan.
1. Preparación de carpetas
Crea una carpeta para tu proyecto y dentro una para los datos:
bash
mkdir mi-postgres && cd mi-postgres
mkdir pgdata
Use code with caution.
Si prefieres hacerlo directamente con el comando
docker run (sin usar compose), aquí tienes el comando con todas las opciones recomendadas para que sea robusto, persistente y seguro:Comando Completo
docker run -d \
--name postgres_container \
-e POSTGRES_USER=mi_usuario \
-e POSTGRES_PASSWORD=mi_password \
-e POSTGRES_DB=mi_base_datos \
-p 5432:5432 \
-v /ruta/en/tu/pc/data:/var/lib/postgresql \
--restart always \
postgres:latest
Explicación de las opciones:
-d(Detached): Corre el contenedor en segundo plano para que no bloquee tu terminal.--name: Le asigna un nombre amigable al contenedor para que no tengas que usar IDs largos al detenerlo o reiniciarlo.-e POSTGRES_USER: Define el superusuario (por defecto espostgres).-e POSTGRES_PASSWORD: Define la contraseña. Es obligatoria en las versiones recientes de la imagen oficial.-e POSTGRES_DB: Crea automáticamente una base de datos con ese nombre al iniciar por primera vez.-p 5432:5432: Mapea el puerto del contenedor al puerto de tu máquina física. Si el 5432 está ocupado en tu PC, cámbialo a5433:5432.-v(Volumen): Es la parte más importante. Mapea una carpeta de tu PC a la carpeta interna de Postgres. Si borras el contenedor, tus datos seguirán a salvo en tu PC.--restart always: Si el servicio de Docker se reinicia o el contenedor falla, Postgres volverá a subir automáticamente.
Verificación
Para confirmar que está funcionando y ver los logs:
docker logs -f postgres_container