0% encontró este documento útil (0 votos)
219 vistas38 páginas

Material Introducción A Los Contenedores Docker - Oct-21

El documento presenta un curso de introducción a los contenedores Docker, organizado por ThinkTIC y dirigido por Marcos Manuel Ortega. El curso se llevará a cabo del 4 al 8 de octubre de 2021, con un total de 15 horas de formación práctica y teórica. Se abordarán temas como la creación de imágenes, almacenamiento, redes y orquestación con Docker Swarm.

Cargado por

chus
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
219 vistas38 páginas

Material Introducción A Los Contenedores Docker - Oct-21

El documento presenta un curso de introducción a los contenedores Docker, organizado por ThinkTIC y dirigido por Marcos Manuel Ortega. El curso se llevará a cabo del 4 al 8 de octubre de 2021, con un total de 15 horas de formación práctica y teórica. Se abordarán temas como la creación de imágenes, almacenamiento, redes y orquestación con Docker Swarm.

Cargado por

chus
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción a los contenedores

Docker
ThinkTIC, Dirección General de Reindustrialización, Innovación e
Internacionalización, Gobierno de La Rioja

4-8 de octubre, 2021

Marcos Manuel Ortega, director de Indavelopers


Material

● Diapositivas (este doc): bit.ly/thinkticdocker


● Play with Docker:
○ labs.play-with-docker.com (entorno de trabajo)
○ training.play-with-docker.com/alacart (ejercicios)
● Crear cuenta de Docker: www.docker.com

2
● Docker for beginners - Linux
● First Alpine Linux containers
● Dockerfile ref
● Doing more with Docker images
● Docker images deeper dive
● Multi-stage builds
● Reducing images size by 50%
● Docker volumes
● Docker networking hands-on lab
Ejercicios ●

Go + Docker
12factor app
● Modernizing traditional Java applications
training.play-with-docker.com ● Application containerization and
microservice orchestration
● Node.js with SQL Server on Docker
● Swarm mode introduction
● Swarm stack introduction
● Docker Swarm config files
● Docker orchestration hands-on lab
● Security lab: Seccomp
● Security lab: capabilities 3
Módulo 0: Introducción al curso

4
Introducción al curso

● “Introducción a los contenedores Docker”


● Organizado por ThinkTIC, Dirección General de Reindustrialización,
Innovación e Internacionalización, Gobierno de La Rioja
● Duración: 15 h, 5 sesiones de 3 h
● Fechas: 4-8 de octubre, 2021
● Horario: 17:00 a 20:00

5
Marcos Manuel Ortega

● Consultor, arquitecto y formador


● Director de Indavelopers
● Cloud computing, big data e IoT
● Instructor autorizado en Google Cloud
● Especializado en GCP con 9+ años de experiencia

6
Organizador múltiples comunidades tecnológicas y cloud evangelist

7
Presentación del alumno

● Nombre
● Perfil/rol
● Empresa
● Formulario: Formulario inicial para alumnos
○ Interés e inquietudes por el curso
○ Experiencia previa en administración de sistemas Linux, desarrollo de aplicaciones y/o
contenedores
○ Necesaria cuenta de Docker

8
Metodología y evaluación

Metodología: Evaluación:

● 5 sesiones de 3 h ● Asistencia diaria (mín. 80%)


● Teoría + práctica ● Realización de los ejercicios
● Descanso de 15 minutos ● Examen final (último día)

9
0. Introducción al curso
1. Introducción a los
contenedores y Docker
1.1. Dockerfile
1.2. Imágenes de contenedores

Contenidos 2.
1.3.
1.4.
Registros de contenedores
Ejecución de contenedores
Almacenamiento
2.1. Volúmenes
5 sesiones de 3 h 2.2. Bind mounts
3. Networking
4. Docker Compose
5. Docker Swarm
6. Operaciones

10
Módulo 1: Contenedores Docker

11
“En mi máquina
funciona”

12
Dev: OK
Test: PASS
Prod: 💢💥🔥
13
“Dependency
hell” 󰨱😈👻

14
Portabilidad

15
Introducción a los contenedores

Nueva metáfora de virtualización de recursos:

● Estandarizados
● Pequeños, rápidos y ágiles
● Independientes del contenido
● Fácilmente portables
● Conectables

16
VMs vs
contenedores
Máquinas virtuales Contenedores
VMs:
Apps Apps Apps Apps Apps Apps
● OS completo individual
● Depende del hypervisor
Depend. Depend. Depend. Depend. Depend. Depend.
● Asociado a una infraestructura
● Conflictos de dependencias
● Grandes, pesadas y lentas OS OS OS Docker Engine

Contenedores: Hypervisor OS
● Kernel/OS compartido
● Desacoplado de infraestructura Infrastructura Infrastructura
● Ejecutable en cualquier sitio
● Dependencias empaquetadas
● Pequeños, ligeros y rápidos

17
“Inmutables y
efímeros”

18
“Mascotas vs
ganado”

19
Artefactos
estáticos y
portables, definidos
declarativamente
20
Microservicios,
agile, devOps

21
Introducción a Docker

Proyecto open-source para desarrollar y ejecutar contenedores.

Compuesto de múltiples herramientas:

docker engine, build, registry, hub

● Docker EE → Mirantis
● Docker y Moby
● containerd y OCI

22
Tecnologías

● Namespaces
● Procesos
● Cgroups
● Union filesystem

23
“Docker no inventó
los contenedores.
Pero los hizo
usables por
cualquiera”
24
Instalación y post-instalación

● Instalación (Linux, recomendado): docs.docker.com/engine/install


○ Instalar Windows Subsystem for Linux
● Post-instalación (Linux): docs.docker.com/engine/install/linux-postinstall
● Docker Desktop (Windows/Mac): docs.docker.com/desktop

25
Docker for IT pros

● First Alpine Linux containers


● Doing more with Docker images

26
Get started

Tutorial: get started (10 partes)

27
Construir una imagen

● Dockerfile
○ Referencia
○ Mejores prácticas
● Builds multi-stage
● Crear imagen base personalizada

28
Registros

● Docker Hub
● Crear tu propio registro: parte 1, partes 2 y 3

29
Volúmenes y bind-mounts

● Almacenamiento
● Volúmenes
● Bind mounts
● Tmpfs mounts

30
Networking para contenedores

● Networking
● Redes:
○ Bridge
○ Host
○ Overlay
● Deshabilitar redes para un contenedor

31
Docker Compose

● Overview
● Instalación
● Getting started
● En producción
● Ejemplos:
○ Django y PostgreSQL
○ Wordpress y MySQL
○ ASP.NET Core y MS SQL Server

32
Operaciones

● Docker cheat sheet


● Logging
● Métricas con Prometheus
● Automatización: inicio automático de Docker y contenedores, “live restore”
● Restricciones de recursos
● Múltiples servicios en un contenedor
● Orquestación: Docker Swarm y Kubernetes

33
CI/CD

● CI/CD con GitHub Actions:


○ Crear repositorio: GitHub
○ Tutorial

34
Módulo 2: Despedida

35
Retos

● Crear repos públicos en Docker Hub


● Contenerizar una webapp “hola mundo” en otro idioma con un webserver
○ Actualizar la webapp a una nueva versión
○ Crear contenedor con pruebas unitarias de webapp
● Contenerizar una herramienta de CLI que busque texto en un archivo
○ Monta directorio y acepta argumentos de archivo y texto
○ Contenedor con pruebas unitarias
○ Crear versión slim
● Contenerizar app slim “hola mundo” en idioma compilado sólo con
ejecutable
36
Examen final

37
¡Gracias por vuestra atención!

Marcos Manuel Ortega:

● www.indavelopers.com
● info@indavelopers.com
● LinkedIn: Marcos Manuel Ortega González

Material: XXX

38

También podría gustarte