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
1318ssh gis@137.135.216.143
1419ifconfig
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
4048docker 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
4557docker exec -it container-b sh
4658ping container-a
4759exit
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
6064docker 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)
0 commit comments