Guía práctica de Docker: Contenedores, servicios y persistencia de datos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,75 KB

EJERCICIOS TEMA 6 – SDIS

1. Tipos principales de contenedores

Existen tres tipos de contenedores:

  • Programas: Se detienen al finalizar la ejecución, permiten E/S y los cambios se pierden tras la ejecución.
  • Servicios: Programas que se mantienen en ejecución, suelen requerir mapeo de puertos para la comunicación y los cambios se pierden al detener el servicio.
  • Datos: Almacenan información y pueden exportar volúmenes para su uso desde otros contenedores.

2. Sistema de archivos en capas de los contenedores

El sistema de archivos de los contenedores funciona mediante capas superpuestas de solo lectura, donde la capa superior es propia del contenedor y permite escritura. Este sistema aumenta la eficiencia al almacenar solo los cambios, mientras que las capas comunes complementan la información.

3. Configuración de servicios en docker-compose.yml

El archivo docker-compose.yml permite configurar diversos elementos de un servicio, como:

  • image: Especifica la imagen a utilizar.
  • build: Permite construir una imagen personalizada para el servicio.
  • ports: Define el mapeo de puertos.
  • depends_on: Establece las dependencias de otros servicios.
  • links: Enlaza servicios.
  • network: Configura la red.

4. Compatibilidad de contenedores Windows en servidores Linux

En general, no es posible ejecutar contenedores de programas Windows en un servidor Linux, ya que cada sistema operativo requiere aplicaciones y servicios específicos para su entorno.

5. Comando para ejecutar un servicio MySQL

Para ejecutar un servicio de datos MySQL que escuche en el puerto 3306, utilizando la imagen "mysql" sin volúmenes, se utiliza el siguiente comando:

docker run -d -p 3306:3306 --name nombre_del_contenedor -e MYSQL_ROOT_PASSWORD=contraseña_mysql mysql

6. Número mínimo de nodos en docker-swarm para tolerar fallos

Para tolerar un fallo y tener la posibilidad de detener otro nodo en docker-swarm, se necesitan al menos 3 nodos. Esto se debe a que se requiere un nodo para el fallo, otro para detener y un tercero para mantener el quórum.

EJERCICIO 7: Base de datos MariaDB

1. Creación y prueba de una base de datos MariaDB

a) Descarga la imagen de MariaDB:

docker pull mariadb

b) Crea el contenedor de la base de datos:

docker run -d --name contenedor -e MYSQL_ROOT_PASSWORD=contraseña_root mariadb

c) Conecta con el cliente MySQL y comprueba su funcionamiento:

docker exec -it contenedor mysql -uroot -pcontraseña_root

d) Ejecuta una consulta para verificar:

SHOW DATABASES;

2. Añadir persistencia de datos

Para añadir persistencia de datos, asociando el directorio de la base de datos a un directorio del host, sigue estos pasos:

1. Detén y elimina el contenedor existente:

docker stop contenedor

docker rm contenedor

2. Crea el directorio en el host:

mkdir /ruta/contenedor_data

3. Crea el contenedor asociándolo al directorio:

docker run -d --name contenedor -e MYSQL_ROOT_PASSWORD=contraseña_root -v /ruta/contenedor_data:/var/lib/mysql contenedor

Nota: Reemplaza "/ruta/contenedor_data" con la ruta deseada en el host y "contraseña_root" con la contraseña que deseas establecer para el usuario root de MySQL.

Entradas relacionadas: