Conexión a Bases de Datos en Contenedores con Docker y PgAdmin
Clase 5 de 27 • Curso de Backend con Node.js: Base de Datos con PostgreSQL
Resumen
¿Cómo acceder a una base de datos dentro de un contenedor con Docker?
La tecnología Docker permite, entre otras cosas, correr bases de datos en contenedores, lo que facilita su manejo y despliegue. En este caso específico, estamos usando contenedores Docker para gestionar una base de datos llamada "Puzzles". Al lograr la conexión adecuada, podemos empezar a explorar, consultar, crear tablas y más. Para acceder a estas bases de datos hay dos formas: usando la terminal y a través de una interfaz gráfica. Veamos cómo hacerlo en cada caso.
¿Cómo acceder a la base de datos desde la terminal?
Conectarse a una base de datos en un contenedor a través de la terminal es una opción ideal para quienes disfrutan del manejo por línea de comandos. Al igual que cuando te conectas a un servidor por SSH, la interfaz terminal te ofrece control total sin necesidad de interfaces gráficas.
-
Conexión al contenedor: Utiliza el comando para conectarte a la consola del contenedor:
docker compose exec puzzles bash
Esto abrirá una consola dentro del contenedor "Puzzles".
-
Ejecutar el cliente de MySQL: Para empezar a enviar comandos SQL, utiliza
psql
, una herramienta que nos permite conectarnos y comenzar a ejecutar comandos SQL.psql -h localhost -d mystore -U nico
-
Inspeccionar la base de datos: Una vez en la base de datos, utiliza comandos SQL para consultar la estructura de la misma.
\d
-
Cerrar sesión: Para salir de la base de datos y luego del contenedor, utiliza:
\q exit
¿Cómo acceder a la base de datos mediante una interfaz gráfica?
Para aquellos que prefieren una interfaz gráfica, PgAdmin es una opción popular y eficiente que corre bajo un navegador web, facilitando la administración de bases de datos PostgreSQL.
-
Configurar PgAdmin: Define el nuevo servicio en tu archivo
docker-compose.yml
:services: pgadmin: image: dpage/pgadmin4 environment: - PGADMIN_DEFAULT_EMAIL=admin@mail.com - PGADMIN_DEFAULT_PASSWORD=root ports: - "5050:80"
-
Iniciar el servicio de PgAdmin: Levanta el servicio usando el comando:
docker compose up -d pgadmin
-
Acceder a PgAdmin: Ingresa en tu navegador con las credenciales definidas:
- Email:
admin@mail.com
- Contraseña:
root
Visitahttp://localhost:5050
.
- Email:
-
Configurar la conexión a PostgreSQL: En PgAdmin, crea un nuevo servidor y configura la conexión con los datos del contenedor PostgreSQL.
-
Uso de PgAdmin: Este ofrece herramientas como la "Query Tool" que permiten correr consultas SQL fácilmente, facilitando la creación y manejo de tablas.
¿Qué ventajas ofrece PgAdmin frente a la terminal?
- Interfaz amigable: Una vista más intuitiva que simplifica muchas tareas.
- Gestión visual: Posibilidad de gestionar visualmente bases de datos y sus componentes.
- Herramientas adicionales: Funcionalidades añadidas como la "Query Tool" para ejecutar consultas SQL de manera directa.
Recomendaciones finales
Explorar estas diferentes maneras de acceder y manejar tus bases de datos en contenedores es fundamental. Dependiendo de tus preferencias personales, puedes optar por una conexión vía terminal para un control más manual o una interfaz gráfica como PgAdmin para una experiencia más visual y amigable. Además, siempre es útil comprender que estas técnicas se pueden extender más allá de Docker, implementándose en diversas plataformas y contextos de desarrollo.
Si buscas ampliar tus conocimientos en Docker o bases de datos, considera explorar otros recursos educativos disponibles sobre estos temas. Recuerda que integrar Node.js con PostgreSQL en tus proyectos podría ser el siguiente paso en tu aprendizaje, asalando la integración entre frontend y backend.