Aprendiendo el púbcico (II)

Lectura de ~3 minutos

En el artículo anterior veíamos que tecnologías usaría para un proyecto que registrara y autenticara usuarios. En este post explicaré como he montado el primer punto, la base de datos.

Como he dicho, la base de datos para desarrollo la tendré “Dockerizada”. Tendremos una base de datos PostgreSQL dentro de Docker.

¿Cómo montamos esto? La base de datos en sí será lo más “sencillo”, puesto que no necesitaremos mucha configuración o intervención una vez montada. Así que “solamente” hace falta especifcar todos los detalles de la base de datos en un fichero que estará en el directorio raíz llamado docker-compose.yml:

version: '3'
services:
  database:
    restart: always
    image: postgres
    ports:
      - "5432:5432"
    environment:
      POSTGRES_PASSWORD: docker
      POSTGRES_USER: docker
      POSTGRES_DB: initialdb

Para lanzar esto ejecutamos el comando docker-compose up o si no queremos que nos deje la consola ocupada con su variante -d.

Con esto ya tendremos una base de datos levantada y lista para el uso. Si hemos ejecutado el comando docker-compose up sin el flag -d tendremos el terminal ocupado mostrando la salida de Docker. Si queremos pararlo, con pulsar Ctrl + C pararemos la ejecución. En caso contrario podemos parar todos los contenedores lanzados con el comando docker-compose stop. Si también queremos eliminar los contenedores generados usaremos el comando docker-compose down --volumes. Si quieremos eliminar los contenedores creados por Docker lo podemos hacer con el comando docker rm <nombre-contenedor> y si queremos eliminar las imagenes creadas lo podemos hacer con el comando docker rmi <nombre-imagen>.

Para comprobar que todo ha funcionado correctamente puedes intentar conectar con un cliente de PostgreSQL. Como se ha indicado en el fichoer docker-compose.yml el host es localhost, el puerto 5432, usuario docker y contraseña docker. Si consigues conectar es que todo ha ido correctamente.

En este punto en concreto no le sacaríamos partido a Docker Compose porque realmente sólo estamos creando una imagen y un contenedor. A partir del siguiente punto ya se le sacará más punta.

Cualquier duda o comentario no dudes en hacermelo llegar.

Nos vemos en las próximas líneas.

Escrito el 20/10/2019