14. Cierre y autoevaluación
Comprueba tu comprensión
Section titled “Comprueba tu comprensión”Pregunta 1
Section titled “Pregunta 1”¿Qué es un contenedor?
Section titled “¿Qué es un contenedor?”Respuesta esperada
Un entorno de ejecución aislado para procesos que utilizan los archivos y dependencias necesarios para ejecutar una aplicación
Pregunta 2
Section titled “Pregunta 2”¿Docker y los contenedores son lo mismo?
Section titled “¿Docker y los contenedores son lo mismo?”Respuesta
NOContenedores = tecnología
Docker = plataforma y conjunto de herramientasPregunta 3
Section titled “Pregunta 3”¿Qué diferencia existe entre imagen y contenedor?
Section titled “¿Qué diferencia existe entre imagen y contenedor?”Respuesta esperada
La imagen es una plantilla de solo lectura y el contenedor es una instancia creada a partir de ella con una configuración y un ciclo de vida propios
Pregunta 4
Section titled “Pregunta 4”¿Para qué sirve un volumen?
Section titled “¿Para qué sirve un volumen?”Respuesta esperada
Para conservar datos fuera de la capa de escritura del contenedor y separarlos de su ciclo de vida
Pregunta 5
Section titled “Pregunta 5”¿Qué ocurre con localhost dentro de un contenedor?
Section titled “¿Qué ocurre con localhost dentro de un contenedor?”Respuesta esperada
Normalmente identifica al propio contenedor y no automáticamente a otro servicio ni a la computadora del usuario
Pregunta 6
Section titled “Pregunta 6”¿Qué diferencia existe entre RUN y CMD?
Section titled “¿Qué diferencia existe entre RUN y CMD?”Respuesta esperada
RUN ejecuta instrucciones durante la construcción de la imagen y CMD define el comando o los parámetros predeterminados al iniciar el contenedor
Pregunta 7
Section titled “Pregunta 7”¿Qué significa el permiso 750?
Section titled “¿Qué significa el permiso 750?”Respuesta esperada
750 = rwx r-x ---El propietario tiene lectura escritura y ejecución
El grupo tiene lectura y ejecución
Los demás no tienen permisos básicos
Pregunta 8
Section titled “Pregunta 8”¿Qué hacen namespaces y cgroups?
Section titled “¿Qué hacen namespaces y cgroups?”Respuesta esperada
Los namespaces proporcionan aislamiento de vistas de recursos del sistema y los cgroups permiten controlar recursos utilizados por grupos de procesos
Pregunta 9
Section titled “Pregunta 9”¿Qué es OCI?
Section titled “¿Qué es OCI?”Respuesta esperada
Una iniciativa abierta que mantiene especificaciones para formatos ejecución y distribución de contenedores
Pregunta 10
Section titled “Pregunta 10”¿Por qué no basta con ejecutar docker compose up?
Section titled “¿Por qué no basta con ejecutar docker compose up?”Respuesta esperada
Porque debemos comprender qué imágenes y servicios se ejecutan cómo se comunican dónde se guardan los datos qué permisos tienen y cómo se diagnostican los fallos
El mapa completo
Section titled “El mapa completo”Del problema a la aplicación
Section titled “Del problema a la aplicación”PROBLEMA"En mi máquina funciona" │ ▼TECNOLOGÍA DE CONTENEDORES │ ▼IMÁGENES Y CONTENEDORES │ ▼DOCKER CLI Y ENGINE │ ▼REDES Y VOLÚMENES │ ▼DOCKERFILE Y COMPOSE │ ▼REGISTRY Y VERSIONADO │ ▼DESPLIEGUE │ ▼OPERACIÓN Y DIAGNÓSTICO │ ▼ESCALABILIDADY debajo de la herramienta
Section titled “Y debajo de la herramienta”Docker │ ▼Componentes de ejecución │ ▼Runtime OCI │ ▼Kernel del entorno │ ├── Namespaces ├── cgroups └── Otros mecanismosLa herramienta nos oculta parte de la complejidad
El profesional debe comprender las responsabilidades de cada capa
Fuentes oficiales para profundizar
Section titled “Fuentes oficiales para profundizar”Docker
- Introducción a Docker
https://docs.docker.com/get-started/ - Docker Engine
https://docs.docker.com/engine/ - Docker Compose
https://docs.docker.com/compose/ - Referencia de comandos
https://docs.docker.com/reference/cli/docker/
Entornos de desarrollo
- Instalación de Docker Engine en Linux
https://docs.docker.com/engine/install/ - Docker Desktop para Windows
https://docs.docker.com/desktop/setup/install/windows-install/ - Docker Desktop para macOS
https://docs.docker.com/desktop/setup/install/mac-install/ - WSL
https://learn.microsoft.com/es-es/windows/wsl/about
Fuentes oficiales para profundizar
Section titled “Fuentes oficiales para profundizar”Estándares y alternativas
- Open Container Initiative
https://opencontainers.org/ - OCI Image Specification
https://github.com/opencontainers/image-spec - OCI Runtime Specification
https://github.com/opencontainers/runtime-spec - OCI Distribution Specification
https://github.com/opencontainers/distribution-spec - Documentación de Podman
https://podman.io/docs/ - Documentación de Podman Desktop
https://podman-desktop.io/docs/
Linux y orquestación
- Manuales de Linux
https://man7.org/linux/man-pages/ - Conceptos de contenedores en Kubernetes
https://kubernetes.io/docs/concepts/containers/
La idea central
Section titled “La idea central”La tecnología primero
Lo que debes llevarte
Section titled “Lo que debes llevarte”La tecnología que estamos estudiando
La herramienta principal que utilizaremos
Los estándares abiertos del ecosistema
Y también
Section titled “Y también”Imagen ↓Contenedor ↓Red ↓Volumen ↓Dockerfile ↓Compose ↓RegistryPara operar con criterio debemos comprender también
LinuxPermisosRuntimeNamespacescgroupsSeguridadDiagnósticoLa idea profesional
Section titled “La idea profesional”No queremos aprender solamente a copiar comandos de Docker
Queremos comprender qué estamos ejecutando por qué lo ejecutamos cómo se comunican los componentes y qué consecuencias tienen nuestras decisiones
Fin del bloque conceptual
Section titled “Fin del bloque conceptual”Contenedores de software
Tecnología → arquitectura → Docker → construcción → operación → despliegue

