Skip to content

Commit e52bfa1

Browse files
committed
Actualizado el README de contenedores y revisado el contenido del módulo IV - Networking
1 parent 0e8743a commit e52bfa1

4 files changed

Lines changed: 48 additions & 24 deletions

File tree

01-contenedores/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,25 @@
5151

5252
### Día III: Contenerización de aplicaciones (19 de Octubre)
5353

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
59+
- 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
75+
- Crear una red de tipo overlay
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#Deberes:
2-
# 1. Dockeriza la aplicación de la carpeta hello-lemoncoder
2+
# 1. Dockeriza la aplicación de la carpeta hello-lemoncoder con Visual Studio Code
33
# 2. Ejecutar un contenedor con tu nueva imagen
44
# 3. Añade un archivo de prueba en el contenedor y crea una nueva imagen a partir de dicho contenedor.
Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
# Parte 4: Networking #
22

3-
docker run -d --name mynginx2 --publish-all simple-nginx:v1
4-
docker port mynginx2
3+
#Lo que habíamos visto hasta ahora: Port Mapping
54

6-
docker run --rm --name hello-nginx -P simple-nginx:v1
5+
#Vimos el ejemplo con Nginx, en el que mapeábamos un puerto del host al puerto 80, que es el que teníamos configurado como servidor web.
6+
docker run -d -p 8080:80 nginx
77

8+
#Podemos aprovecharnos de la información de EXPOSE para publicar todos los puertos que
9+
#Utiliza el contenedor
10+
docker run -d --name hello-world-with-a-lot-of-ports --publish-all hello-world:latest
11+
#o bien
12+
docker run -d --name hello-world-with-a-lot-of-ports -P hello-world:latest
813

9-
#Listar las redes disponibles en este host
10-
docker network ls
14+
#Para poder visualizar cuáles son los puertos expuestos y cuáles han sido asignados del host:
15+
docker port hello-world-with-a-lot-of-ports
1116

1217
#En linux puedes ver que hay una interfaz más llamada docker0
1318
ssh gis@137.135.216.143
1419
ifconfig
20+
exit
1521

22+
#Listar las redes disponibles en este host
23+
docker network ls
1624
#Por defecto, ya hay una red creada en un host de Docker (En Linux se llama bridge y el Docker se llama nat)
1725

1826
#De forma predeterminada, esta es la red a la que se conectarán todos los contenedores para los que NO especifiquemos una red a través de --network
@@ -39,32 +47,22 @@ docker network inspect localnet --format '{{json .Containers}}' | jq
3947
#Ahora vamos a añadir un segundo contenedor a nuestra nueva red
4048
docker container run -d --name container-b \
4149
--network localnet \
42-
alpine sleep 1d
50+
alpine sleep 1d
51+
52+
#Ahora tienes dos contenedores dentro de la misma red:
53+
docker network inspect localnet --format '{{json .Containers}}' | jq
54+
4355

4456
#Atacha el terminal a container-b y haz un ping al container-a utilizando su nombre
4557
docker exec -it container-b sh
4658
ping container-a
4759
exit
4860

49-
#Las redes de tipo bridge nos permiten que los contenedores puedan comunicarse entre ellos de una forma sencilla.
50-
#No obstante podemos utilizar Port Mapping para exponer contenedores y que estos sean accesibles desde el exterior
51-
docker container run -d --name web \
52-
--network localnet \
53-
--publish 5000:80 \
54-
nginx
55-
56-
#Para verificar los puertos mapeados de un contenedor
57-
docker port web
61+
#TODO: Un contenedor con dos endpoints!!!!
5862

5963
#Eliminar todos las redes que están en desuso en un host
6064
docker network prune
6165

6266
#Crear una red de tipo overlay
63-
docker network create -d overlay multihost-net
64-
65-
#Para poder crear redes del tipo overlay es necesario tener Docker en modo clúster (lo veremos en el último módulo)
66-
67-
#Deberes:
68-
# 1. Crea una nueva red de tipo bridge/nat llamada lemoncode
69-
# 2. Crea dos contenedores dentro de la red que acabas de crear, uno de ellos con la imagen nginx
70-
# 3. Con cURL y el nombre del contenedor solicita la web que se está ejecutando con Nginx
67+
docker network create --driver overlay multihost-net
68+
#Para poder crear redes del tipo overlay es necesario tener Docker en modo clúster (lo veremos en el último módulo)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#Deberes:
2+
# 1. Crea una nueva red de tipo bridge/nat llamada lemoncode
3+
# 2. Crea dos contenedores dentro de la red que acabas de crear, uno de ellos con la imagen nginx
4+
# 3. Con cURL y el nombre del contenedor solicita la web que se está ejecutando con Nginx

0 commit comments

Comments
 (0)