Está en la página 1de 5

Instalar PostgreSQL

con Docker
Qué es Docker
Docker es un servicio de virtualización de aplicaciones dentro de unos
denominados contenedores. Esto permite que las aplicaciones se ejecuten
independientemente del host que los alberga. Cuando una aplicación está
virtualizada su puesta en marcha por orquestadores que monitorizan el
estado de las aplicaciones y la carga que soportan, fácilmente pueden
levantar o apagar instancias en la nube para tolerar altas cargas de trabajo.

Docker está disponible sin coste, para las principales plataformas de


escritorio y es una de las herramientas básicas de todo programador
moderno. Revisa el artículo de instalación de docker para dejar tu estación
de trabajo lista para desarrollar. O si quieres ampliar tus conocimientos
acerca del uso de ésta revisa nuestro tutorial de Docker.

Requisitos para
Postgres con Docker
Si eres usuario de Windows o Mac necesitarás tener instalado Docker
Desktop en tu pc o portátil y éste debe tener cierta capacidad y potencia.
Por otro lado, en el caso de que seas usuario de Windows, deberás tener la
versión Professional para poder instalar Docker. Si no es así, visita el
tutorial de instalación de ubuntu, el mejor sistema operativo para programar
totalmente gratis y Open Source. Si eres usuario de Ubuntu o Debian
asegúrate de tener en tu sistema Docker Compose también explicado en el
tutorial de instalación de Docker.
Instalar Postgres con
Docker
Para arrancar una base de datos Postgres con docker el proceso no puede
ser más sencillo. Basta que cojamos la plantilla del fichero de configuración
de Docker Compose que dejamos a continuación e invoques al comando
que realizará todo el proceso.

version: '2'

services:

postgres:

image: 'postgres:latest'

restart: always

volumes:

- './postgres_data:/var/lib/postgresql/data'

environment:

- POSTGRES_PASSWORD=secure_pass_here

ports:

- '5432:5432'
Guarda el fichero en local con el nombre docker-compose.yml en un
directorio denominado <home_usuario>/docker/postgres si estás en Unix, o
<home_usuario>\docker\postgres si estás en Windows. La
configuración guarda los datos en el subdirectorio ./postgres_data de
forma permanentemente, puesto que si no, en cada reinicio del contenedor
se perderían las bases de datos alojadas. Luego, posiciónate con un
terminal de comandos en el mismo directorio que el fichero y ejecuta:

docker-compose up -d

El sistema, primero descargará la imagen de los repositorios públicos de


Docker al ver que no está disponible localmente y luego procederá al
arranque y a la apertura del puerto indicado en el fichero de configuración.
La opción -d indica a Docker que se ejecute el servicio en segundo plano.

A partir de ese momento, utiliza tu interfaz gráfico preferido para conectar a


la base de datos. Si no tienes ninguno puedes adquirir el cliente gratuito y
multi base de datos DBeaver.

Verificar que el servicio


PostgreSQL está activo
Para verificar que el servicio está activo y el contenedor ejecutándose de
forma normal, pruebe de ejecutar el siguiente comando de docker que
muestra los contenedores en funcionamiento:

docker ps

Deberá aparecer al menos una entrada correspondiente al contenedor


MySQL en estado activo como se muestra a continuación:

CONTAINER ID IMAGE COMMAND CREATED STATUS

PORTS NAMES
327fd50443a7 postgres:8 "docker-entrypoint.s…" 29 hours ago Up 6 hours

0.0.0.0:5432->5432/tcp docker_postgres_1

De ser así, puede continuar con el resto de actividades, puesto que como se
indica en el fragmento de texto anterior, el contenedor se encuentra
ejecutándose (status up) y escuchando en el puerto 5432.

Conectar PostgreSQL
con DBeaver

Si tenemos el cliente SQL DBeaver, una vez arrancado el contenedor,


podremos conectarnos con este cliente multi plataforma ingresando los
siguientes datos:
Seleccionar nueva conexión para PostgreSQL

Server host: localhost

Port: 5432

User name: postgres

Password: secure_pass_here

A continuación darle «Probar conexión» y si todo ha ido bien, «Finalizar». A


partir de ese momento el cliente gráfico SQL podrá abrir una conexión con
el contenedor mientras éste esté en ejecución.

Si no tienes mucha experiencia en el manejo de bases de datos como


Postgre SQL te recomendamos que realices una lectura del tutorial de
SQL para principiantes.

Siguientes pasos
Llegados a este punto, ya estás preparado para desarrollar una aplicación
con Java. Visita la página de tutoriales y pasos para programar con
Java donde hemos recopilado todos los recursos necesarios para despegar
tu carrera profesional como programador.

Pero antes, conviene que crear una nueva base de datos y un usuario


limitado con MySQL o con PostgreSQL para no conectar con el
administrador, limitando así las acciones que pueden realizarse desde la
aplicación. Muy interesante sobre todo cuando hay varias bases de datos y
aplicaciones conectadas al mismo gestor, añadiendo una capa de seguridad
más que conveniente.

También podría gustarte