Práctica 9: Docker y Contenedores

Sistemas Operativos - Virtualización a nivel de sistema operativo

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

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

  1. Ejecutar contenedor básico: sudo docker run hello-world
  2. Listar contenedores: sudo docker ps -a
  3. Ejecutar contenedor interactivo: sudo docker run -it ubuntu bash
  4. Dentro del contenedor: ls ps
  5. Abrir otra terminal y ejecutar: ps aux | grep docker
  6. Comparar procesos host vs contenedor
  7. Salir del contenedor: exit
Análisis

Análisis del sistema

Los contenedores son procesos aislados mediante namespaces y controlados por cgroups.
Reflexión

Preguntas de reflexión

Extensión

Actividad complementaria

Entrega: análisis técnico

Entrega

Evidencia