Levantar bases de datos para desarrollo local puede ser una tarea tediosa. En esta guía rápida veremos cómo crear y administrar contenedores Docker para PostgreSQL y Adminer en cuestión de segundos.
Crear contenedor Docker con PostgreSQL
Para iniciar un contenedor de Postgres en segundo plano que se elimine al detenerlo y exponga el puerto estándar 5432:
$ docker run -d --rm --name postgres -e POSTGRES_PASSWORD=mysecretpassword -p 5432:5432 postgres
Conectar al contenedor de Docker por consola
Puedes iniciar otro contenedor interactivo temporal que corra psql para conectarse al contenedor de base de datos que acabamos de levantar:
$ docker run -it --rm --link postgres:postgres postgres psql -h postgres -U postgres
Conectar al contenedor usando Adminer
Adminer es una excelente herramienta web ligera para gestionar bases de datos. Podemos levantarla y enlazarla a Postgres con un solo comando:
$ docker run -d --rm --link postgres:db -p 8080:8080 adminer
Una vez levantado, apunta tu navegador a: http://127.0.0.1:8080 y utiliza las credenciales que configuramos (mysecretpassword).
Comprobar los contenedores funcionando
Puedes verificar el estado de tus contenedores ejecutando:
$ docker ps
Salida esperada:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6791bc460155 adminer "entrypoint.sh php -…" 12 seconds ago Up 12 seconds 0.0.0.0:8080->8080/tcp jolly_shamir
4d87cee59600 postgres "docker-entrypoint.s…" 58 seconds ago Up 57 seconds 0.0.0.0:5432->5432/tcp postgres
Parar y eliminar contenedores
Como no configuramos volúmenes persistentes para simplificar este ejemplo, detenerlos los destruirá completamente, dejándote un entorno limpio:
$ docker stop CONTAINER_ID
$ docker rm CONTAINER_ID