No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso de Docker

Curso de Docker

Guido Vilari帽o

Guido Vilari帽o

Docker networking: colaboraci贸n entre contenedores

22/33
Recursos

Aportes 99

Preguntas 23

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

茅xito rotundo!! me encant贸 la frase!

Comandos:
$ docker network ls (listo las redes)
$ docker network create --atachable plazinet (creo la red)
$ docker inspect plazinet (veo toda la definici贸n de la red creada)
$ docker run -d --name db mongo (creo el contenedor de la BBDD)
$ docker network connect plazinet db (conecto el contenedor 鈥渄b鈥 a la red 鈥減latzinet鈥)
$ docker run -d -name app -p 3000:3000 --env MONGO_URL=mondodb://db:27017/test platzi (corro el contenedor 鈥渁pp鈥 y le paso una variable)
$ docker network connect plazinet app (conecto el contenedor 鈥渁pp鈥 a la red 鈥減lazinet鈥)

Esta clase marca un antes y un despu茅s, el hecho de poder comunicarse entre contenedores en una red propia, es la base para crear todo tipo de aplicaciones

Vale, el networking de Docker es pr谩cticamente como crear un localhost virtual y conectar ah铆 todas las m谩quinas que quieras, es como si la red fuese un router virtual y conectas cada m谩quina virtual a ese router virtual y entonces cada m谩quina puede acceder a un localhost virtual jaja, es una LAN party de m谩quinas virtuales! xD

Esta parte es base para los microservicios 馃く

https://platzi.com/clases/2066-docker/32861-docker-networking-colaboracion-entre-contenedores/?time=540

print('茅xito total, 茅xito rotundo!')

Que grande el profe, est谩 muy bueno el curso

DockerNetwork

Comandos:

  • Listar las redes
docker network ls
  • Crear una red
docker network create --atachable <network_name>
docker network create --atachable plazinet 
  • Inspeccionar una red
docker network inspect <network_name>
  • Conectar un contenedor a la red
docker network connect  <network_name> <container_name> 
docker network connect plazinet db 
  • Correr un contenedor usando variables de entorno
docker run --env MY_VAR='' <image_name>
docker run -d -name app -p 3000:3000 --env MONGO_URL=mondodb://db:27017/test platzi 

Si desas conectar el Contendor, en el mismo momento que lo creas, puede incluir este nuevo flan.

 docker run -d --name app -p 3000:3000 --network=platzinet --env MONGO_URL=mongodb://db:27017/test platziapp 

Estoy asombrado del Power de Docker. Soy Ingeniero en Redes, y esta habilidad de crear subredes dentro de docker es incre铆ble.

Para crear redes, tambi茅n lo puedes personalizar.

$ docker network create \
  --driver=bridge \
  --subnet=172.28.0.0/16 \
  --ip-range=172.28.5.0/24 \
  --gateway=172.28.5.254 \
  br0

Fuente:https://docs.docker.com/engine/reference/commandline/network_create/

Comandos de la clase

21. Docker networking: colaboraci贸n entre contenedores
Se puede lograr que dos contenedores colaboren entre si en una misma red. C贸mo se vio en el anterior ejemplo, al realizar la petici贸n local no funcionaba porque no habr谩 ning煤n servidor de mongo db, se puede crear redes virtuales para contenedores con la instrucci贸n
por comando doker network y conectar los contenedores con docker network connect

Docker viene con unas redes ya pre hechas
$ sudo docker networl ls

bridge: Es la opci贸n por defecto y permite conexi贸n con retrocompatibilidad de versiones anteriores.
hosts: Es la representaci贸n real del host es decir puede tener la misma ip y puerto.
none: deshabilita la conexi贸n de los contenedores

Pasos para comunicar dos contenedores

  1. Crear una conexi贸n virtual de red de docker.
  2. Verificamos que la conexi贸n est茅 creada
  3. Crear contenedor basado en la imagen de mongo db
  4. Conectar el contenedor de mongo db a la red virtual de docker
  5. Verificar que la conexi贸n que el contenedor de mongo db este conectado
  6. Crear el contenedor de nuestra aplicaci贸n, y definir el entorno de mongo, es decir definir el puerto de escucha.
  7. Conectar el contenedor de la aplicaci贸n a la red virtual de docker
  8. realizar la prueba en el navegador

Ejecuci贸n de los pasos para comunicar a dos contenedores

  1. $ sudo docker network create --attachable network_container

鈥揳ttachable permite que otros contenedores se usen esta conexi贸n

  1. $ sudo docker network ls
  2. $ sudo docker run -d --name container_mongo_db mongo
  3. $ sudo docker network connect network_container container_mongo_db
  4. $ sudo docker inspect network_container
    6.$ sudo docker run -d --name container_platzi_app -p 3000:3000 --env
  5. MONGO_URL=mongodb://container_mongo_db:27017/test image_platzi_app
  6. $ sudo docker network connect network_container container_platzi_app
  7. $ sudo docker inspect network_container.
  8. localhost:3000

Bueno en realidad los tipos de redes son:

  1. Host.
  2. Bridge.
  3. None.
  4. Overlay.
  5. Macvlan.
    En caso de requerir mas informaci贸n los invito a la siguiente URL https://docs.docker.com/network/ para que conozcan m谩s al detalle acerca de estas redes que abren nuevos pasos en el mundo de docker.
    Pens茅 que en esta actualizaci贸n del curso iban a detallar acerca de estas redes.

驴algu铆en m谩s con nostalgia de Silicon Valley nombr贸 su red PiperNet? 馃槄

脡xito total 茅xito roootundo!!!
Comandos:

鉃 docker network ls
Permite que otros contenedores se conecten al network
鉃 docker network create --attachable platzinet
Inspeciona el network creado
鉃 docker network inspect platzinet
Crea contenedor de mongo
鉃 docker run -d --name db mongo:4
Conectar el contenedor db a la red platzinet
鉃 docker network connect platzinet db
Contenedor usando la imagen platziapp, ademas conecta con el contenedor de mongo base de datos test, con una variable de entorno
鉃 docker run -d --name app -p 3000:3000 --env MONGO_URL=mongodb://db:27017/test platziapp
Conectar el contenedor app a la red platzinet
鉃 docker network connect platzinet app

Exito total, exito ROTUNDOOO!!

鈥溍墄ito total, 茅xito rrrrrotundoooo!!!鈥 馃槃

鈥 Listar nuestras redes (host, bridge, none)

docker network ls

鈥 Vamos a crear una red

docker network create  --attachable platzinet

鈥 Inspeccionar la red que creamos

docker network inspect platzinet

鈥 Creamos el contenedor de mongo

docker run -d --name db mongo

鈥 Conectar contenedor de mongo a nuestra red creada

docker network connect platzinet db

鈥 Correr nuestra aplicacion conectada a nuestra red

nano Dockerfile
#####Dockerfile#####
FROM node:14

COPY ["package.json", "package-lock.json", "/usr/src/"]

WORKDIR /usr/src

RUN npm install

COPY [".", "/usr/src/"]

EXPOSE 3000

CMD ["node", "index.js"]
####################
docker build -t platziapp .
docker run -d --name app -p 3000:3000 --env MONGO_URL=mongodb://db:27017/test platziapp

docker network connect platzinet app

En relaci贸n a las redes de Docker, tenemos:
.

  • User-defined bridge networks (bridge): empledas cuando se quiere comunicaci艅 entre varios contenedores dentro del mismo host.
    .
  • Host networks: son la mejor opci贸n cuando no quieres completo asilamiento del grupo de contenedores en la red, sino que quieres otros elementos espec铆ficos de los contenedores asilados.
    .
  • Overlay networks: 煤tiles cuando quieres comunicaci贸n entre distintos contenedores ubicados en distintos hosts, o cuando m煤ltiples apps trabajan juntas empleando dispositivos colmena.
    .
  • Macvlan networks: efectivas cuando est谩s migrando de un setup de m谩quinas virtuales o requieres que tus contenedores act煤en como hosts independientes en tu red, c/u con su direcci贸n MAC.
    .
  • Third-party network plugins: te permiten integrar Docker con stacks especializados de red.
    .
    Mas info: https://docs.docker.com/network/

Es excelente saber inspeccionar una red, ya que por ejemplo hoy justamente tuve que inspeccionar el Getway en mi host de una base de datos Postgres para conectarme e inspeccionar mis bases de datos para ver mi error. Esto se puede hacer mediante la extension de docker en visual-studio (muy recomendada), pero docker network inspect te facilitara la vida sobre todo con tus bases de datos. No se con que otro tipo de herramientas es util saber el Gateway para conectarte desde tu maquina local 馃槂

Esta clase es oro puro.

Para los que estamos corriendo en Docker Playground (no consegu铆 correr Docker para Windows) la arquitectura ser铆a algo as铆, si no me equivoco:

Es incre铆ble tener ha alguien que te ayude a entender esto porque de manera solitaria la cosa se pone dificil.

Los que abandonaron el curso se pierden lo bueno entonces 馃槄

脡xito total

docker network connect NAME_NETWORK NAME_CONTAINER

Docker allows us to connect containers through networks.

By default, Docker creates three networks:

NETWORK ID          NAME                DRIVER              SCOPE
6e763d91ff6d        bridge              bridge              local
3292e4aaf222        host                host                local
0fbe4b9074ce        none                null                local

bridge is a network that is in disuse, so we are not going to use it.

host represents the network of the host machine, so it is dangerous to use it, as the container is exposed to the entire local network.

none is like a network that makes the containers connected to it totally isolated; it is used in containers that handle sensitive processes, so that they can neither communicate nor receive data from the outside.

docker build -t <name_tag> . (creo la imagen local si es que no existe)
docker network ls (listo las redes)
docker network create --attachable <name_red> (creo la red y permitimos que otros contenedores accedan a ella 鈥渁ttachable鈥)
docker inspect <name_red> (veo toda la definici贸n de la red creada)
docker run -d --name <name_container> mongo (creo el contenedor de la BD)
docker network connect <name_red> <name_container> (conecto la red 鈥渘ame_red鈥 al contenedor de la bd 鈥渘ame_container鈥)
docker run -d --name <name_container> -p 3000:3000 --env MONGO_URL=mongodb://db:27017/test <name_image> (corro un contenedor nuevo 鈥<name_container> 鈥, le paso una variable de entorno 鈥- -env鈥 y el nombre de la imagen a la que le quiero asignar este nuevo contenedor鈥<name_image>鈥)
docker network connect <name_red> <name_container> (conecto la red 鈥<name_red>鈥 al contenedor que se asigno a la imagen鈥<name_container>鈥)

Docker Networking
$ docker network ls

<h1>To show the pre build networks</h1>

$ docker network create --attachable [network_name]

<h1>To create a network</h1>
--attachable: to allow others containers to conect to my network

$ docker network inspect [network_name]

<h1>To se our network configuration</h1>

$ docker run -d --name db mongo

<h1>To create a container with a mongo db</h1>

$ docker network connect platzinet db

<h1>To connect the container db to my network platzinet</h1>

$ docker network inspect platzinet

<h1>To visualize the container now connected to my network</h1>

$ docker run -d --name app -p 3000:3000 --env
MONGO_URL=mongodb://db:27017/test platziapp

<h1>To run a container with an eviroment variable and an image</h1>
--env: to specify a enviroment variable
MONGO_URL:  The variable鈥檚 name
mongodb://db:27017/test: the variable鈥檚 value

platziapp: the image name
$ docker network connect platzinet app

<h1>To connect app container to my network</h1>

$ docker network rm [network_name]

<h1>To remove network</h1>

脡xito Rotundo!

Que bueno conocer tras bambalinas, estoy usnado Docker Compose.

REDES EN DOCKER

#listar redes
docker network ls

#crear red
  docker network create --attachable <nombre>

#ver definicion de red
  docker inspect <nombre>

#Conectar contenedor a la red  
  docker network connect <network-name> <container-name> 

#crear contenedor enviando una variable de entorno mongo
 docker run -d --name <name> -p <local-port>:<container-port> --env MONGO_URL=mondodb://db:27017/test <image>

Es interesane. Tal parece que se debe construir una imagen por cada servicio:

https://medium.com/zenofai/how-to-build-a-node-js-and-mongodb-application-with-docker-containers-15e535baabf5

esta buenisimo鈥

que ven mis ojos!

Commands and Descriptions

  • docker network connect Connect a container to a network

  • docker network create Create a network

  • docker network disconnect Disconnect a container from a network

  • docker network inspect Display detailed information on one or more networks

  • docker network ls List networks

  • docker network prune Remove all unused networks

  • docker network rm Remove one or more networks

excelente clase

Esta clase me ha gustado mucho se contagia el gusto del profe por docker, y se ha entendido muy bien el docker networking

Excelente la comunicaci贸n entre contenedores, all铆 realmente radica la utilidad de los mismos, en una correcta relaci贸n entre ellos.

Exito total, exito rotundoooo鈥 jajajaja buena buena buena鈥

me encanto pero no pude correr nodemon en el container .-.

Muy bueno este, sencillo y bien explicado

el fundamentos de docker 2018 no hubo caso conectarme pero ahora todo bien todo un EXITO ROTUNDO !.
vamos 10 de 10 para el examen

Para Complementar el "茅xito total, existo rotundo" e aqu铆 las instrucciones de ChatGPT Para conectar dos contenedores Docker mediante una variable de entorno, puedes seguir estos pasos: 1. [**Crear los contenedores Docker**: Primero, necesitas tener dos contenedores Docker en ejecuci贸n](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[1](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/). 2. [**Definir las variables de entorno**: Puedes definir las variables de entorno al crear un contenedor usando la opci贸n `-e` o `--env`](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[2](https://iesgn.github.io/curso_docker_2021/sesion1/configuracion.html). Por ejemplo, si quieres pasar la variable de entorno `MY_VAR` con el valor `my_value` a tu contenedor, puedes usar el siguiente comando:docker run -e MY\_VAR=my\_value your\_image\_name 3. [**Usar las variables de entorno en el contenedor**: Dentro del contenedor, puedes acceder a estas variables de entorno como lo har铆as en cualquier sistema Linux](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[3](https://dev.to/ruslangonzalez/argumentos-y-variables-de-entorno-en-docker-j9o). [Por ejemplo, en un script de shell, podr铆as usar `$MY_VAR` para acceder al valor de `MY_VAR`](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[3](https://dev.to/ruslangonzalez/argumentos-y-variables-de-entorno-en-docker-j9o). 4. [**Compartir variables de entorno entre contenedores**: Si quieres compartir variables de entorno entre contenedores, puedes usar un archivo `.env`](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[4](https://es.stackoverflow.com/questions/28408/como-puedo-configurar-variables-de-entorno-dentro-de-docker-compose). [Este archivo debe estar al mismo nivel que tu archivo `docker-compose.yml`](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[4](https://es.stackoverflow.com/questions/28408/como-puedo-configurar-variables-de-entorno-dentro-de-docker-compose). [Dentro del archivo `.env`, defines las variables de la manera tradicional, `VAR=VALUE;`](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[4](https://es.stackoverflow.com/questions/28408/como-puedo-configurar-variables-de-entorno-dentro-de-docker-compose). [Luego, dentro de `docker-compose` solo llamas la variable](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[4](https://es.stackoverflow.com/questions/28408/como-puedo-configurar-variables-de-entorno-dentro-de-docker-compose). Por favor, ten en cuenta que este es un resumen general. [El proceso puede variar dependiendo de las especificidades de tu proyecto y del entorno en el que est茅s desplegando](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/)[3](https://dev.to/ruslangonzalez/argumentos-y-variables-de-entorno-en-docker-j9o)[2](https://iesgn.github.io/curso_docker_2021/sesion1/configuracion.html)[4](https://es.stackoverflow.com/questions/28408/como-puedo-configurar-variables-de-entorno-dentro-de-docker-compose)[5](https://www.delftstack.com/es/howto/docker/pass-environment-variables-to-docker-container/)[1](https://barcelonageeks.com/conexion-de-dos-contenedores-docker-en-la-misma-red/). 隆Espero que esto te sea 煤til!
Este comando de Docker ejecuta un contenedor a partir de una imagen llamada "platziapp". Aqu铆 est谩 el desglose del comando: * `docker run`: Este comando se utiliza para ejecutar un contenedor a partir de una imagen. * `-d`: Esta opci贸n ejecuta el contenedor en segundo plano, es decir, en modo daemon. * `--name app`: Esto asigna un nombre al contenedor que se est谩 creando. En este caso, el nombre del contenedor ser谩 "app". * `-p 3000:3000`: Esta opci贸n mapea el puerto 3000 del host al puerto 3000 del contenedor. Esto significa que el contenedor expone un servicio en el puerto 3000 y el host puede acceder a este servicio a trav茅s del mismo puerto. * `--env MONGO_URL=mongodb://db:27017/test`: Esta opci贸n establece una variable de entorno dentro del contenedor. En este caso, la variable de entorno "MONGO\_URL" se establece en "mongodb://db:27017/test". Esto indica la URL de conexi贸n a la base de datos MongoDB, donde "db" es el nombre del contenedor de MongoDB, que se supone que est谩 en la misma red Docker. * `platziapp`: Este es el nombre de la imagen desde la cual se est谩 ejecutando el contenedor. Presumiblemente, "platziapp" es una imagen que contiene la aplicaci贸n que se ejecutar谩 en el contenedor. En resumen, este comando ejecuta un contenedor en segundo plano a partir de la imagen "platziapp", asigna el nombre "app" al contenedor, mapea el puerto 3000 del host al puerto 3000 del contenedor, y establece una variable de entorno para la URL de conexi贸n a la base de datos MongoDB.
La forma de conectar 2 contenedores son las redes virtuales de docker o docker networking. Por defecto docker nos da 3 redes, bridge (que est谩 presente por retrocompatibilidad) host (que le da acceso a toda la red de nuestra m谩quina) y none (que basicamente le quita total acceso a internet o cualquier recurso de red). Aparte de estas redes, podemos crear las propias: `$ docker network create --attachable <name>` En este caso, el flag `--attachable` indica que posteriormente podremos agregar otros contenedores a la red. Despues, para agregar contenedores a la red, corremos el comando `$ docker network connect <net-name> <container-name>` Si tenemos un contenedor con mongo (para el ejemplo) con correr el comando para ambos contenedores, pero, antes de agregar el contenedor de la app, al correrlo, debemos pasarle la url de mongo para que la tome como variable de entorno, con `--env MONGO_URL=mongodb://<mongo-con-name>:27017/<db-name>` y despues ya si podemos agregar ese contenedor a la red.
Esta clase me dejo asi 馃く, que maravilla es docker!.

隆脡xito rotuuuuuuundoooo! Le metio feeling como comentarista deportivo narrando una jugada emocionante.
隆Bien por mi Guido!

Hasta ahora sigo observando un problema al usar docker, todos los comandos son imperativos lo cual puede provocarnos problemas para mantener varios contenedores, me imagino que existe alguna tecnologia para poder hacerlo de manera declarativa

Tengo que repetir las clases, pero esta muy god esto ! wow !

Genial de principio a fin

Docker networking: colaboraci贸n entre contenedores

Docker tiene redes incorporadas, podemos verlas con sudo docker network ls

Y creamos nuestra red que se pueda comunicar con otras redes sudo docker network create --attachable <network_name>

Y es muy f谩cil conectar un contenedor con una red: sudo docker network connect <network_name> <container_name>

Listo para hacer que se ejecute todo:

sudo docker run -d --name app -p 3000:3000 --env MONGO_URL=mongodb://monguito:27017/test platziapp

Este curso no tiene sentido que lo vean si no tienen un previo conocimiento de virtual machine estoy seguro que de esa forma van a lograr asimilar mejor los conceptos

Comparto el comando en Docker que utilice para mantener la actualizaci贸n en tiempo real de la app junto con la conexi贸n con mongo >
$ sudo docker run -d --rm --name web2 -p 3020:3000 -v C:\Users\joan1\DockerPractice\docker\index.js:/usr/src/index.js --env MONGO_URL=mongodb://mongo_db:27017/test platziapp3

Docker esta bueno鈥ero no tan bueno鈥

Me encanto!!! XD

Esta clase fue un 10 de 10, muy buena!

Aqui les dejo un articulo de freecodecamp que habla de los Docker network basics

Emocionante ver esa conxion, esta muy bueno el curso.

Los que estuvimos batallando horas con el nodemon al ver que el profe lo borra para esta lecci贸n jaja 馃槀

Es muy epico jajaja 鉂わ笍

excelente curso muy motivado

La mejor manera de acceder a una base de datos es que est茅 en otro contenedor, pero para que puedan verse o comunicarse es necesario que pertenezcan a la misam red, docker nos ofrece la posibilidad de crear redes para que los contenedores se conecten, esto es con los comandos:

  • Listar redes disponibles
docker network ls 
  • Crear una red y que sea 鈥渁tachable鈥
docker network --attachable <nombre-red>
  • Revisar informaci贸n de una red
docker network inspect <nombre-red>
  • Conectar un contenedor a una red
docker network connect <nombre-red> <nombre-contenedor>

Adicionalmente lo ideal es que la definicion de parametros de configuracion como urls no este harcodeada en c贸digo si no se tome de variables de entono, las cuales pueden ser definidas al crear el contenedor con el comando:

docker run --env <ENV_KEY>=<ENV_VALUE> <image-name>

Mood del final de la clase: AHORA VIENE LO CHIDO

Para optimizar la creaci贸n de un nuevo contenedor bajo un segmento de red personalizada, debemos enviar el flag --net=platzinet:

$ docker run -d --rm -p 3000:3000 --net=platzinet --env MONGO_URL=mongodb://db:27017/test --name my-platzi-app platziapp

Docker networking: colaboraci贸n entre contenedores

Crear conexi贸n entre 2 contenedores con docker network

  • Listar redes
docker network ls
  • Crear red (con --attachable permites que otros contenedores se conecten a ella)
docker network create --attachable mynetwork 
  • Inspeccionar red
docker network inspect mynetwork 

Crear 2 contenedores (Mongo y App)

Note: Eliminar contenedores viejos para evitar problemas docker rm db -f

  • Contenedor de mongo
docker run -d --name db mongo 
  • Conectar mongo a la red
docker network connect mynetwork db

Si hacemos un docker network inspect mynetwork podemos ver el contenedor conectado

  • Ejecutar la aplicacion conectada a esta red
docker run -d --name app -p 3000:3000 --env MONGO_URL=mongodb://<db>:27017/test node_app
  • Conectar app a la red
docker network connect mynetwork app

Verificar que esta corriendo la app, debemos ver db y app corriendo

docker ps 

Por curiosidad, si quieren desconectar un contenedor de la red, se hace lo siguiente:

docker network disconnect platzinet db

Modificar json y testiar

en unas pocas clases he pasado de ver docker como si fuera magia negra a entender a la perfecci贸n como funciona. Por el momento me est谩 encantando el curso y el profesor, de lo mejor que me he encontrado junto a Freddy.

No me pod铆a esperar al final del curso de lo animado que estoy 馃槢

  1. Ver las redes de docker
docker network ls
  1. Crear red para conectar contenedores
    • attachable para que otros contenedores puedan conectarse cuando quieran
docker network create --attachable platzinet
  1. Ver detalles de la red
docker network inspect platzinet
  1. Crear contenedor mongo
docker run -d --name db mongo
  1. Conectar el contenedor nuevo a la red
docker network connect platzinet db
  1. Correr nuestra aplicaci贸n conectada a la red
docker run -d --name app -p 3000:3000 --env MONGO_URL=mongodb://db:27017/test platziapp

Docker me permite mediante el nombre del contenedor identificarlo en la red.

  1. Conectar app a la red
docker network connect platzinet app

Wooow, brutal docker networking!!!

Docker networking: colaboraci贸n entre contenedores
Comandos:
$ docker network ls (listo las redes)
$ docker network create --attachable plazinet (creo la red)
$ docker inspect plazinet (veo toda la definici贸n de la red creada)
$ docker run -d --name db mongo (creo el contenedor de la BBDD)
$ docker network connect plazinet db (conecto el contenedor 鈥渄b鈥 a la red 鈥減latzinet鈥)
$ docker run -d -name app -p 3000:3000 --env MONGO_URL=mondodb://db:27017/test platzi (corro el contenedor 鈥渁pp鈥 y le paso una variable)
$ docker network connect plazinet app (conecto el contenedor 鈥渁pp鈥 a la red 鈥減lazinet鈥)

para conectar un contenedor a una red especifica de docker---->> docker network connect nombreRed nombreContenedor

inspeccionar las redes en docker---->>docker network inspect nombreRed

para crear una red en docker ---->> docker network create --attachable nombreDeLaRed

Para listar todas las redes disponibles en docker ---->> docker network ls

Hermoso, cuantas horas ahorradas con docker network 馃ぉ

tambien esta el comando --link que esta obselo pero aun asi lo siguen usando.

che ta bunisimo este video, ahora si docker-compose todo poderoso se esta acercando.

Un curso RRRRROTUNDOOOO!!!

Secuencia comando completa:
docker run -d --name db mongo
docker network connect platzinet db
docker run -d --name app -p 3000:3000 --env MONGO_URL=mongodb://db:27017/test platziapp
docker network connect platzinet app

Excelente! Guido es un gran profesor.

Docker esta genial jajaja

Exito total, exito ROTUNDOOO!!

Esta clase me vol贸 la cabeza. Por fin entend铆 el potencial brutal de Docker y porque caus贸 tanto impacto en el mundo Tech.

脡xito total !!! 脡xito rotundo !!!

脡xito total !!! 脡xito rotundo !!!

No habia visto de este tema de Docker, es genia todo lo que puede hacer.

Gracias Guido! Sos un crack 馃槂

Excelente contenido! aprendiendo much铆simo de la comunicaci贸n entre contenedores. Muy f谩cil

como conectar un contenedor con otro contenedor

Gracias totales.

Usage: docker network COMMAND

Manage networks

Commands:
connect Connect a container to a network
create Create a network
disconnect Disconnect a container from a network
inspect Display detailed information on one or more networks
ls List networks
prune Remove all unused networks
rm Remove one or more networks

Seg煤n la documentaci贸n oficial de Docker, podemos arrancar un contenedor conectado a una red de forma temporal de la sig. manera:

$ docker run -d --name my-container-1 --rm --network my-network-1 --network-alias my-api-endpoint node:16

Exito total = Felicidad Total 馃槃

馃ぃ馃槀馃ぃ

馃槑

Buena clase

It works!

me encant贸 este cap铆tulo!!