Contexto
Introducción
La virtualización permite ejecutar múltiples entornos aislados sobre un mismo sistema físico. Docker implementa contenedores que comparten el kernel pero aíslan procesos, red y sistema de archivos.
A diferencia de máquinas virtuales tradicionales, los contenedores son ligeros y eficientes.
Un contenedor es un proceso aislado que se comporta como un sistema independiente.
En esta práctica se analizará cómo Docker crea aislamiento y cómo se relaciona con el kernel.
Objetivo
Objetivo
- Comprender el concepto de contenedor
- Ejecutar contenedores básicos
- Analizar aislamiento de procesos
- Relacionar Docker con procesos del sistema
Entorno
Condiciones del entorno
La práctica se ejecuta en un sistema Linux accesible mediante SSH.
ssh usuario@IP_SERVIDOR
Verificar disponibilidad:
docker --version
Si no está disponible:
sudo apt install docker.io
Validar permisos:
sudo docker ps
Docker puede requerir privilegios elevados dependiendo de la configuración.
Comandos
Comandos y explicación
docker run → Ejecuta contenedor
sudo docker run hello-world
docker ps → Lista contenedores activos
sudo docker ps
docker ps -a → Lista todos
sudo docker ps -a
docker run -it → Contenedor interactivo
sudo docker run -it ubuntu bash
Ejecución
Actividad paso a paso
- Ejecutar contenedor básico:
sudo docker run hello-world
- Listar contenedores:
sudo docker ps -a
- Ejecutar contenedor interactivo:
sudo docker run -it ubuntu bash
- Dentro del contenedor:
ls
ps
- Abrir otra terminal y ejecutar:
ps aux | grep docker
- Comparar procesos host vs contenedor
- Salir del contenedor:
exit
Análisis
Análisis del sistema
- ¿El contenedor es una máquina virtual?
- ¿Qué procesos se ejecutan realmente?
- ¿Cómo se logra el aislamiento?
- ¿El contenedor usa el mismo kernel?
Los contenedores son procesos aislados mediante namespaces y controlados por cgroups.
Reflexión
Preguntas de reflexión
- ¿Por qué Docker es más ligero que una VM?
- ¿Qué implicaciones tiene compartir el kernel?
- ¿Cómo afecta esto a la seguridad?
- ¿Qué ventajas ofrece en sistemas productivos?
Extensión
Actividad complementaria
- Investigar namespaces en Linux
- Analizar cgroups
- Comparar contenedores vs máquinas virtuales
Entrega: análisis técnico
Entrega
Evidencia
- Capturas de:
- docker run
- docker ps
- contenedor interactivo
- Comparación host vs contenedor
- Respuestas de reflexión