Apuntes de BD para DAW, DAM y ASIR
José Juan Sánchez Hernández
Curso 2023/2024
psql
adminer
Para poder ejecutar contenedores Docker es necesario tener instalado Docker Community Edition (CE) en nuestro equipo.
En la web oficial encontrará la información necesaria para realizar la instalación de Docker CE sobre Windows, macOS, Ubuntu, Debian, Fedora y CentOS.
Un contenedor Docker que no tiene persistencia de datos quiere decir que cuando finalice la ejecución perderá todo el contenido que hayamos creado durante la ejecución. Es decir, si durante la ejecución del contenedor hemos creado varias bases de datos en PostgreSQL, éstas se perderán cuando el contenedor se detenga.
El comando que podríamos usar para lanzar nuestro contenedor Docker con PostgreSQL sin persistencia de datos podría ser el siguiente:
docker run
es el comando que nos permite crear un
contenedor a partir de una imagen Docker.
El parámetro -d
nos permite ejecutar el contenedor
en modo detached, es decir, ejecutándose en segundo
plano.
El parámetro --rm
hace que cuando salgamos del
contenedor, éste se elimine y no ocupe espacio en nuestro
disco.
El parámetro --name
nos permite asignarle un nombre
a nuestro contenedor. Si no le asignamos un nombre Docker nos asignará un nombre
automáticamente.
El parámetro -e
es para pasarle al contenedor
variables de entorno. En este caso le estamos pasando la variable de
entorno POSTGRES_PASSWORD
, que contiene el valor de la
contraseña del usuario postgres
.
El parámetro -p
nos permite mapear los puertos entre
nuestra máquina local y el contenedor. En este caso, estamos mapeando el
puerto 5432
de nuestra máquina local con el puerto
5432
del contenedor.
postgres
es el nombre de la imagen. Como no hemos
indicado la versión que vamos a utilizar para crear el contenedor,
utilizará la última versión que esté disponible. Si no se indica lo
contrario buscará las imágenes en el repositorio oficial Docker Hub.
psql
Una vez que hemos creado la instancia del contenedor que está
ejecutando PostgrSQL,
podemos conectarnos a él para utilizar la herramienta
psql
.
adminer
Podemos crear un contenedor con Adminer para utilizar una interfaz web que nos permite conectar con PostgreSQL.
Para crear un contenedor con Adminer podemos ejecutar el siguiente comando:
Una vez hecho esto, podríamos acceder a través de la URL http://127.0.0.1:8080 desde cualquier navegador web.
Una vez que hemos iniciado los contenedores podemos comprobar que se están ejecutando con el siguiente comando:
docker ps
Deberíamos obtener una salida similar a esta.
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1e321c26d33 adminer "entrypoint.sh docke…" 2 seconds ago Up 1 second 0.0.0.0:8080->8080/tcp admiring_poitras
4485390ebc31 postgres "docker-entrypoint.s…" 59 seconds ago Up 58 seconds 0.0.0.0:5432->5432/tcp postgres
Para detener un contenedor en primer lugar tenemos que conocer cuál
es su ID. Para obtenerlo podemos hacer uso del comando
docker ps
.
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1e321c26d33 adminer "entrypoint.sh docke…" 2 seconds ago Up 1 second 0.0.0.0:8080->8080/tcp admiring_poitras
4485390ebc31 postgres "docker-entrypoint.s…" 59 seconds ago Up 58 seconds 0.0.0.0:5432->5432/tcp postgres
En la primera columna podemos ver cuál es el
CONTAINER ID
. Una vez localizado el identificador
ejecutamos el comando docker stop
y le pasamos como
parámetro el identificador del contenedor que queremos detener.
Para el caso anterior deberíamos ejecutar:
docker stop a1e321c26d33
docker stop 4485390ebc31
Esta
página forma parte del curso
Bases de Datos de
José Juan Sánchez Hernández y
su contenido se distribuye bajo una
licencia
Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0
Internacional.