Skip to content

Commit 4e957fa

Browse files
authored
Update README.md
1 parent c3cfb55 commit 4e957fa

File tree

1 file changed

+181
-53
lines changed

1 file changed

+181
-53
lines changed

01-contenedores/README.md

Lines changed: 181 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,43 @@
22

33
## Agenda
44

5-
### Día I: Introducción a Docker (6 de Octubre)
5+
### Día I: Introducción a Docker (27 de Septiembre de 2021)
66

7+
#### Teoría
8+
- Introducción a Docker y por qué Docker
79
- ¿Por dónde empiezo?
8-
* Docker Desktop
9-
* Docker en Linux
10-
* Docker CLI client: La línea de comandos interactiva
10+
* Docker Desktop
11+
12+
#### Práctica
13+
1114
- Comandos básicos:
15+
* docker version y docker info
1216
* Ejecutar tu primer contenedor
1317
* Introducción a las imágenes
1418
* Docker Hub
1519
* Exponer puertos de un contenedor
16-
* ¿Dónde están los contenedores creados hasta ahora?
20+
* ¿Dónde están los contenedores?
1721
* Personalizar el nombre de los contenedores
18-
* Ejecutar un contenedor y lanzar un shell interactivo en él
19-
* Ejecutar comandos desde mi local dentro del contenedor
20-
* Conectarme a un contenedor
22+
* Ejecutar un contenedor y lanzar un terminal dentro de él
23+
* Conectarme a un contenedor
24+
* Ejecutar comandos dede mi local dentro del contenedor
2125
* Copiar archivos desde local a un contenedor y viceversa
2226
* Cómo parar/iniciar un contenedor ya creado
2327
* Eliminar contenedores
2428
* Docker Desktop Dashboard para la gestión de contenedores
25-
2629
- Ejemplo práctico: SQL Server dockerizado
27-
- Deberes
30+
#### El resumen de hoy
31+
#### Chuleta de comandos
32+
#### Deberes
33+
34+
### Día II: Trabajando con imágenes (28 de Septiembre de 2021)
35+
36+
#### Teoría
2837

29-
### Día II: Trabajando con imágenes (13 de Octubre)
38+
- Introducción a las imágenes
39+
- Los registros
40+
41+
#### Práctica
3042

3143
- Ver todas las imágenes en local hasta ahora
3244
- Buscar entre las imágenes descargadas
@@ -46,52 +58,168 @@
4658
* Ejecutar un contenedor con tu nueva imagen
4759
* Subir tu imagen a Docker Hub
4860
- Eliminar imágenes
49-
- Deberes
61+
#### El resumen de hoy
62+
#### Chuleta de comandos
63+
#### Deberes
5064

5165

52-
### Día III: Contenerización de aplicaciones (19 de Octubre)
66+
### Día III: Contenerización de aplicaciones (4 de Octubre de 2021)
5367

54-
- Mi primera aplicación a contenerizar > Node.js y Visual Studio Code
55-
* El Dockerfile
56-
* Ejecutar eslint como parte de la build
57-
- Multistage build
58-
- Ejemplo de contenerización de una aplicación en un entorno .NET
68+
#### Teoría
69+
70+
- ¿Por qué queremos contenerizar nuestras aplicaciones?
71+
- Proceso de contenerización
72+
- El Dockerfile
73+
- Capas
74+
- Cómo generar imágenes
75+
- Publicar imágenes
76+
- Buenas prácticas
77+
78+
### Prática
79+
80+
- Visual Studio Code y Docker
81+
- Dockerfiles multi-stages
82+
- Ejemplo de contenerizaión de una aplicación en un entorno .NET
5983
- Ejemplo de aplicación Java con IntelliJ
60-
- Ejemplo de aplicación web en PHP con Eclipse
61-
- Ejemplo con contenedores Windows
62-
63-
### Día IV: Networking (20 de Octubre)
64-
65-
- Port Mapping
66-
- Exponer todos los puertos descritos como EXPOSE
67-
- docker0
68-
- Listar las redes disponibles en un host
69-
- Los contenedores por defecto se meten en la red bridge/NAT
70-
- Inspeccionar una red
71-
- Crear una nueva red
72-
- Crear un contenedor asociado a una red específica
73-
- Descubrimiento de servicios y comunicación entre contenedores de la misma red
74-
- Un contenedor con dos endpoints
84+
- Ejemplo de aplicación con un contenedor Windows
85+
86+
#### El resumen de hoy
87+
#### Chulera de comandos
88+
#### Deberes
89+
90+
### Día IV: Almacenamiento y monitorización (5 de Octubre de 2021)
91+
92+
#### Teoría del almacenamiento
93+
94+
- Introducción al almacenamiento
95+
- Capas de lectura y del contenedor
96+
- Datos persistentes
97+
- Tipos de montaje
98+
99+
#### Práctica del almacenamiento
100+
101+
- Listar los volúmenes de un host
102+
- Crear un nuevo volumen
103+
- Asociar varios contenedores al mismo volumen
104+
- Comprobar qué contenedores están asociados a un volumen
105+
- Inspeccionar un volumen
106+
- Añadir datos a un volumen
107+
- Eliminar un contenedor con un volumen asociado
108+
- Asociar un nuevo contenedor a un volumen existente
109+
- Usar Visual Studio Code con Explore in Development Container
110+
- Ejemplo de bind mount
111+
- Usar el bind mount como read-only
112+
- Backup de un volumen
113+
- Eliminar un volumen
114+
- Un volumen no puede eliminarse mientras esté atachado
115+
- Eliminar todos los volúmenes que no estén siendo usados
116+
- Tmpfs mount
117+
118+
#### Resumen de este apartado
119+
#### Chuleta de comandos
120+
121+
#### Teoría de monitorización
122+
123+
- Introducción a la monitorización
124+
- Tipos de logs
125+
- Docker events
126+
- Docker stats
127+
- Docker logs
128+
129+
#### Práctica de monitorización
130+
131+
- Ver qué eventos genera Docker
132+
- Métricas en Docker
133+
- Saber cuánto espacio estamos ocupando en disco
134+
- Prometheus
135+
- Grafana
136+
- Cómo ver los logs de un contenedor
137+
- Fluentd
138+
- Portainer.io
139+
140+
#### Resumen del apartado
141+
#### Chuleta de comandos
142+
143+
### Día V: Networking (18 de Octubre de 2021)
144+
145+
#### Teoría
146+
147+
- Fundamentos de redes
148+
- ¿Qué es un DNS?
149+
- Network namespaces
150+
- Docker y el networking
151+
- CNI
152+
- CNM
153+
154+
#### Práctica
155+
156+
- Listar redes disponibles en un host
157+
- Los contenedores por defecto se meten en la red bridge
158+
- Dos contenedores en la red por defecto
159+
- Cómo crear una red
160+
- Añadir un contenedor a una red específica
161+
- Asociar un contenedor a dos redes
162+
- Lo que habíamos visto hasta ahora: port mapping
163+
- Exponer todos los puertos descritos como EXPOSE en la imagen
164+
- Ejemplo de un contenedor en la red de tipo host
75165
- Deshabilitar la red para un contenedor
166+
- Eliminar una red
167+
- Eliminar todas las redes que no se estén utilizando
76168
- Crear una red de tipo overlay
169+
- Apartado Networks en Visual Studio Code
170+
171+
#### Resumen del día
172+
#### Chuleta de comandos
173+
#### Ejercicios
174+
175+
### Día VI: Docker Compose y Docker Swarm (19 de Octubre de 2021)
176+
177+
#### Teoría de Docker Compose
178+
179+
- Introducción a los microservicios
180+
- Introducción a Docker Compose
181+
182+
#### Práctica de Docker Compose
183+
184+
- Desplegar un Wordpress de forma manual
185+
- El archivo docker-compose.yaml
186+
- Ejecutar aplicación con Docker Compose
187+
- Parar la aplicación
188+
- Ejecutar la aplicación en segundo plano
189+
- Eliminar la aplicación
190+
- Desplegar una aplicación propia generando la imagen
191+
- ver todas las aplicaciones que se están ejecutando a través de Docker Compose
192+
- Ver todos los proyectos levantados con Docker Compose
193+
- Asignar un nombre al proyecto
194+
- Reiniciar los contenedores de la aplicación
195+
196+
#### Resumen de la parte de Docker Compose
197+
#### Chuletas de Docker Compose
198+
199+
#### Teoría de Docker Swarm
200+
201+
- ¿Qué es Docker Swarm?
202+
- ¿Cómo funciona?
203+
- Alta disponibilidad
204+
- Balanceo de Carga
205+
* Modo Ingress
206+
* Modo host
207+
208+
#### Práctica de Docker Swarm
209+
210+
- Como iniciar un clúster con Docker Swarm
211+
- Docker Machine para crear VMs con Docker Engine
212+
- Crear un clúster con Docker Machine
213+
- Desplegar una aplicación en nuestro nuevo clúster
214+
- Escalar la aplicación
215+
- Constraints para desplegar los servicios solamente en los workers
216+
- Visualizador de un Swarm
217+
- Modo Ingress
218+
- Modo Host
219+
- Docker Stacks
220+
221+
#### Resumen de la parte de Docker Swarm
222+
#### Chuleta de comandos
223+
#### Ejercicios
77224

78-
### Día V: Almacenamiento y monitorización (26 de Octubre)
79-
- Almacenamiento
80-
* Ver todos los volúmenes en el host
81-
* Crear un nuevo volumen
82-
* Inspeccionar un volumen
83-
* Añadir datos dentro de un volumen
84-
* Eliminar un contenedor con un volumen montado
85-
* Asociar un nuevo contendor a un volumen existente
86-
* Backup de un volumen
87-
* Eliminar un volumen
88-
* Un volumen no puede eliminarse mientras esté montado
89-
* Eliminar todos los volúmenes sin usar
90-
* Ejemplo de bind mount
91-
* Usar bind mount en modo lectura
92-
* Tmpfs mount
93-
- Monitorización
94-
* Cómo ver los logs de un contenedor
95-
* Ejemplo de los drivers de logging con Fluentd
96-
* Métricas
97-
* Ejemplo con Prometheus
225+
### Laboratorio de Docker (25 de Octubre de 2021)

0 commit comments

Comments
 (0)