Postgres en Docker

SQL Postgres Docker HomeLab

Postgres es uno de los manejadores de bases de datos más utilizados en el mundo opensource. Veremos como instalarlo y ejecutarlo en nuestro laboratorio local de forma contenerizada con Docker.

José R Sosa https://josersosa.github.io/personalweb/
04-12-2024

Un ejemplo de posgres junto a una aplicación en un entorno docker:

services:
  db:
    image: postgres
    resta
    rt: always
    environment:
      POSTGRES_PASSWORD: example
    volumes:
      - pgdata:/var/lib/postgresql/data
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080
volumes:
  pgdata:

Variables de entorno

Podemos ver la importancia de POSTGRES_PASSWORD en Postgres. Sin especificar esto, Postgres no puede ejecutarse de manera eficaz. Pero también hay otras variables que influyen en el comportamiento del contenedor:

Estas variables se encuentran dentro de su .envarchivo de texto sin formato. En última instancia, determinan cómo Postgres crea y conecta bases de datos. Puede consultar nuestra documentación de la imagen oficial de Postgres en GitHub para obtener más detalles sobre las variables de entorno.

Secretos de Docker

Si bien las variables de entorno son útiles, pasarlas entre el host y el contenedor no está exento de riesgos. Los secretos de Docker le permiten acceder y cargar esos valores desde archivos que ya están presentes en su contenedor. Esto evita que sus variables de entorno sean interceptadas en tránsito a través de una conexión de puerto. Puede usar el siguiente comando (y sus iteraciones) para aprovechar los secretos de Docker con Postgres:

docker run --name some-postgres -e POSTGRES_PASSWORD_FILE=/run/secrets/postgres-passwd -d postgres

Nota: Los secretos de Docker solo son compatibles con determinadas variables de entorno. Consulta nuestra documentación para obtener más información.

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Citation

For attribution, please cite this work as

Sosa (2024, April 12). Blog de José R Sosa: Postgres en Docker. Retrieved from https://josersosa.github.io/personalweb/posts/2026-02-01-postgres-en-docker/

BibTeX citation

@misc{sosa2024postgres,
  author = {Sosa, José R},
  title = {Blog de José R Sosa: Postgres en Docker},
  url = {https://josersosa.github.io/personalweb/posts/2026-02-01-postgres-en-docker/},
  year = {2024}
}