Implementación de PostgreSQL 10.3 usando Docker

En el siguiente tutorial se verá como utilizar docker para desplegar PostgreSQL, un sistema de gestión de base de datos relacionales.

Docker es una tecnología de gestión de contenedores de software que nos permitirá levantar nuestras aplicaciones independiente del sistema operativo, mas detalles acerca de su uso se puede revisar en los siguiente enlace

Descarga desde dockerhub

Dockerhub es una comunidad donde están las imágenes de diferentes servicios y aplicaciones que nos permitirán desplegar nuestros servicios, podemos acceder a https://hub.docker.com/_/postgres/ y verificar la versión que usaremos.

dockerhub

Descarga de imágen de Postgres

Para el post usaremos la ultima version estable a la fecha de PostgreSQL, 10.3

[root@localhost home]# docker pull postgres:10.3

Verificación de imágen

[root@localhost home]# docker images | grep postgres
postgres                          10.3                 5c5aa9a16b8b        2 weeks ago         264MB

Uso de docker run, mapeo de rutas

docker run [opciones] [imagen] [comandos] [árgumentos]

[root@localhost home]# docker run -p 5432:5432 --name postgres103 -v /opt/postgres:/var/lib/postgresql/data -e POSTGRES_PASSWORD=secret -d postgres:10.3

Explicaremos los parámetros usados al ejecutar docker run

  • -p 5432:5432 -> Se especifica el puerto que usará el servidor y será mapeado con el puerto del contenedor
  • –name postgres103 -> Se define el nombre del contenedor.
  • -v /opt/postgres:/var/lib/postgresql/data -> Mapea la ruta /opt/postgres de nuestro servidor con la ruta /var/lib/postgresql/data del contenedor.
  • -e POSTGRES_PASSWORD=secret -> Se especifica la contraseña del usuario password, para el caso secret.
  • -d postgres:10.3 -> Se especifica la imagen que se usará en el contenedor, anteriormente descargada con docker pull.

Para validar la operatividad del contenedor haremos uso del siguiente comando

[root@localhost home]# docker ps
CONTAINER ID        IMAGE                                         COMMAND                  CREATED             STATUS                 PORTS                    NAMES
e8606a109569        postgres:10.3                                  "docker-entrypoint.s…"   8 days ago          Up 7 days              0.0.0.0:5432->5432/tcp   postgres103

En caso no se muestre el contenedor haremos uso del siguiente comando para iniciar el contenedor.

[root@localhost home]# docker start postgres103

Acceso al contenedor en modo bash

Para acceder al contenedor en modo bash ejecutaremos el siguiente comando

[root@localhost home]# docker exec -it postgres103 bash
root@e8606a109569:/#

Esto sera necesario para modificar los parámetros de configuración de nuestro motor de base de datos PostgreSQL, en los archivos postgresql.conf y pg_hba.conf, ubicados en la ruta /var/lib/postgresql/data de nuestro contenedor.
Si se desea se puede hacer esta modificación directamente en la ruta /opt/postgres de nuestro servidor.

Acceso al contenedor PostgreSQL

Para gestionar los objetos de base de datos ejecutaremos el siguiente comando

[root@localhost home]# docker exec -it postgres103 psql -U postgres
psql (10.3)
Type "help" for help.

postgres=#
Share on FacebookTweet about this on TwitterShare on Google+

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *