{"id":1173,"date":"2026-03-11T15:20:23","date_gmt":"2026-03-11T18:20:23","guid":{"rendered":"https:\/\/maurobernal.com.ar\/blog\/?p=1173"},"modified":"2026-03-11T20:02:21","modified_gmt":"2026-03-11T23:02:21","slug":"redes-docker-networking-bridge-host-contenedores-comunicacion","status":"publish","type":"post","link":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/","title":{"rendered":"Redes en Docker: de &#8216;no puedo conectar mis contenedores&#8217; a entenderlo de verdad"},"content":{"rendered":"\n<p class=\"intro-destacado\">Pas\u00e9 casi tres horas intentando que un contenedor de frontend se comunicara con un contenedor de backend. Hac\u00eda <code>curl http:\/\/localhost:3000<\/code> desde dentro del frontend y no llegaba nada. El problema no era el c\u00f3digo: era que no entend\u00eda c\u00f3mo funcionan las redes en Docker.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El modelo de red de Docker<\/h2>\n\n\n\n<p>Cada contenedor tiene su propia interfaz de red virtual y su propia direcci\u00f3n IP dentro de la red Docker. El <code>localhost<\/code> dentro de un contenedor es <em>ese contenedor<\/em>, no el host ni otro contenedor. Ese fue mi error: intentar llegar a otro contenedor como si fuera mi m\u00e1quina.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Los tres drivers de red nativos<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code\">\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502  BRIDGE (default)                                               \u2502\n\u2502                                                                 \u2502\n\u2502  Host \u2500\u2500\u2500\u2500 docker0 \u2500\u2500\u2500\u2500 contenedor1 (172.17.0.2)               \u2502\n\u2502                    \u2514\u2500\u2500\u2500 contenedor2 (172.17.0.3)               \u2502\n\u2502                                                                 \u2502\n\u2502  \u2022 Red virtual privada                                          \u2502\n\u2502  \u2022 Contenedores aislados entre s\u00ed por defecto                  \u2502\n\u2502  \u2022 Se exponen puertos expl\u00edcitamente con -p                     \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502  HOST                                                           \u2502\n\u2502                                                                 \u2502\n\u2502  Host \u2500\u2500\u2500\u2500 contenedor (comparte la red del host)               \u2502\n\u2502                                                                 \u2502\n\u2502  \u2022 Sin aislamiento de red                                       \u2502\n\u2502  \u2022 M\u00e1ximo rendimiento (sin NAT)                                 \u2502\n\u2502  \u2022 Solo disponible en Linux                                     \u2502\n\u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524\n\u2502  NONE                                                           \u2502\n\u2502                                                                 \u2502\n\u2502  contenedor (sin red - solo loopback)                          \u2502\n\u2502                                                                 \u2502\n\u2502  \u2022 Aislamiento total                                            \u2502\n\u2502  \u2022 Para procesos que no necesitan red                           \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">La soluci\u00f3n: redes definidas por el usuario<\/h2>\n\n\n\n<p>La red <code>bridge<\/code> por defecto tiene una limitaci\u00f3n importante: los contenedores no se pueden resolver por nombre, solo por IP. Las redes personalizadas solucionan esto con DNS autom\u00e1tico. Esta es la forma correcta de conectar contenedores.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code\"># Crear una red personalizada\ndocker network create mi-app-network\n\n# Levantar backend\ndocker run -d   --name backend   --network mi-app-network   -e DB_HOST=postgres   mi-api:latest\n\n# Levantar frontend - puede resolver \"backend\" por nombre\ndocker run -d   --name frontend   --network mi-app-network   -p 80:3000   -e API_URL=http:\/\/backend:8080   mi-frontend:latest\n\n# Levantar base de datos en la misma red\ndocker run -d   --name postgres   --network mi-app-network   -v postgres-data:\/var\/lib\/postgresql\/data   -e POSTGRES_PASSWORD=secreto   postgres:16-alpine\n\n# Ahora desde frontend pod\u00e9s hacer:\n# curl http:\/\/backend:8080\/api\/health  &#x2705;\n# La base de datos NO est\u00e1 expuesta al exterior (sin -p)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Publicaci\u00f3n de puertos: qu\u00e9 expon\u00e9s y qu\u00e9 no<\/h2>\n\n\n\n<p>Un error com\u00fan es publicar todos los puertos de todos los servicios. La buena pr\u00e1ctica: solo el punto de entrada de tu aplicaci\u00f3n (el frontend o la API p\u00fablica) se expone al host. La base de datos, el cache, los servicios internos \u2014 solo accesibles dentro de la red Docker.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code\"># &#x274c; Exponer todo - superficie de ataque innecesaria\ndocker run -p 5432:5432 postgres    # DB expuesta al mundo\ndocker run -p 6379:6379 redis       # Cache expuesta al mundo\ndocker run -p 8080:8080 mi-api      # API interna expuesta\n\n# &#x2705; Solo exponer el punto de entrada\ndocker run -p 80:80 mi-nginx        # Solo el proxy\/frontend al exterior\n# El resto: en red interna, sin -p<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Comandos de diagn\u00f3stico de red<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code\"># Ver redes existentes\ndocker network ls\n\n# Inspeccionar una red (ver qu\u00e9 contenedores est\u00e1n conectados)\ndocker network inspect mi-app-network\n\n# Conectar\/desconectar un contenedor de una red en caliente\ndocker network connect mi-app-network contenedor-existente\ndocker network disconnect mi-app-network contenedor-existente\n\n# Diagn\u00f3stico de conectividad desde dentro de un contenedor\ndocker exec -it frontend ping backend\ndocker exec -it frontend curl http:\/\/backend:8080\/health\ndocker exec -it frontend nslookup backend  # resoluci\u00f3n DNS<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Lo que deber\u00eda haber hecho desde el principio<\/h2>\n\n\n\n<p>La soluci\u00f3n a mis tres horas de frustraci\u00f3n era simple: crear una red personalizada y usar los nombres de contenedor como hostnames. Desde que lo entend\u00ed, la comunicaci\u00f3n entre servicios es trivial. La clave mental: dentro de una red Docker personalizada, el nombre del contenedor es el hostname. <code>http:\/\/backend:8080<\/code> funciona igual que <code>http:\/\/192.168.1.100:8080<\/code>, pero sin tener que saber IPs que cambian.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p><em>\u2190 <a href=\"https:\/\/maurobernal.com.ar\/blog\/blog\/kubernetes\/volumenes-docker-persistencia-datos-guia-practica\/\">Art\u00edculo anterior: Vol\u00famenes y persistencia<\/a> | <strong>Serie Docker Completo<\/strong> | Pr\u00f3ximo: Docker Compose \u2192<\/em><\/p>\n\n\n<hr class=\"wp-block-separator\"\/>\n<p><em>\u2190 <a href=\"https:\/\/maurobernal.com.ar\/blog\/blog\/kubernetes\/volumenes-docker-persistencia-datos-guia-practica\/\">Art\u00edculo anterior: Cuando perd\u00ed datos de producci\u00f3n por no usar vol\u00famenes (y c\u00f3mo no repetirlo)<\/a> | <strong>Serie Docker Completo<\/strong> | Pr\u00f3ximo: <a href=\"https:\/\/maurobernal.com.ar\/blog\/blog\/kubernetes\/docker-compose-guia-completa-multiples-contenedores\/\">Docker Compose: el d\u00eda que dej\u00e9 de levantar contenedores a mano \u2192<\/a><\/em><\/p>","protected":false},"excerpt":{"rendered":"<p>C\u00f3mo funcionan las redes en Docker: bridge, host, none, y por qu\u00e9 las redes personalizadas son la forma correcta de comunicar contenedores. Con diagrama y ejemplos reales.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[233],"tags":[257,241,242,240,215,256,258],"class_list":["post-1173","post","type-post","status-publish","format-standard","hentry","category-kubernetes","tag-bridge","tag-contenedores","tag-devops","tag-docker","tag-linux","tag-networking","tag-port-mapping"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Redes en Docker: de &#039;no puedo conectar mis contenedores&#039; a entenderlo de verdad &#183; devops Mauro Bernal<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Redes en Docker: de &#039;no puedo conectar mis contenedores&#039; a entenderlo de verdad &#183; devops Mauro Bernal\" \/>\n<meta property=\"og:description\" content=\"C\u00f3mo funcionan las redes en Docker: bridge, host, none, y por qu\u00e9 las redes personalizadas son la forma correcta de comunicar contenedores. Con diagrama y ejemplos reales.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/\" \/>\n<meta property=\"og:site_name\" content=\"devops Mauro Bernal\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-11T18:20:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-11T23:02:21+00:00\" \/>\n<meta name=\"author\" content=\"Mauro Bernal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@_maurobernal\" \/>\n<meta name=\"twitter:site\" content=\"@_maurobernal\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mauro Bernal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/\"},\"author\":{\"name\":\"Mauro Bernal\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"headline\":\"Redes en Docker: de &#8216;no puedo conectar mis contenedores&#8217; a entenderlo de verdad\",\"datePublished\":\"2026-03-11T18:20:23+00:00\",\"dateModified\":\"2026-03-11T23:02:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/\"},\"wordCount\":355,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"keywords\":[\"bridge\",\"contenedores\",\"devops\",\"docker\",\"linux\",\"networking\",\"port-mapping\"],\"articleSection\":[\"Kubernetes\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/\",\"name\":\"Redes en Docker: de 'no puedo conectar mis contenedores' a entenderlo de verdad &#183; devops Mauro Bernal\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\"},\"datePublished\":\"2026-03-11T18:20:23+00:00\",\"dateModified\":\"2026-03-11T23:02:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/redes-docker-networking-bridge-host-contenedores-comunicacion\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Redes en Docker: de &#8216;no puedo conectar mis contenedores&#8217; a entenderlo de verdad\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/\",\"name\":\"devops Mauro Bernal\",\"description\":\"Cuando tu trabajo es hacer que las cosas funcionen bien...\",\"publisher\":{\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/maurobernal.com.ar\\\/blog\\\/#\\\/schema\\\/person\\\/09c4dbdfb59b20e015c703fd19713283\",\"name\":\"Mauro Bernal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\",\"width\":1740,\"height\":1740,\"caption\":\"Mauro Bernal\"},\"logo\":{\"@id\":\"https:\\\/\\\/i0.wp.com\\\/maurobernal.com.ar\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/logo-maurobernal.png?fit=1740%2C1740&ssl=1\"},\"description\":\"Desarrollo de Sistemas en .Net, IT Callcenters, DBA de SQL Server, Mikrotik, Pentest y T\u00e9cnico consultor de Sistemas Bejerman\",\"sameAs\":[\"https:\\\/\\\/maurobernal.com.ar\",\"https:\\\/\\\/x.com\\\/_maurobernal\",\"https:\\\/\\\/youtube.com\\\/maurobernal\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Redes en Docker: de 'no puedo conectar mis contenedores' a entenderlo de verdad &#183; devops Mauro Bernal","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/","og_locale":"es_ES","og_type":"article","og_title":"Redes en Docker: de 'no puedo conectar mis contenedores' a entenderlo de verdad &#183; devops Mauro Bernal","og_description":"C\u00f3mo funcionan las redes en Docker: bridge, host, none, y por qu\u00e9 las redes personalizadas son la forma correcta de comunicar contenedores. Con diagrama y ejemplos reales.","og_url":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/","og_site_name":"devops Mauro Bernal","article_published_time":"2026-03-11T18:20:23+00:00","article_modified_time":"2026-03-11T23:02:21+00:00","author":"Mauro Bernal","twitter_card":"summary_large_image","twitter_creator":"@_maurobernal","twitter_site":"@_maurobernal","twitter_misc":{"Escrito por":"Mauro Bernal","Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/#article","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/"},"author":{"name":"Mauro Bernal","@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"headline":"Redes en Docker: de &#8216;no puedo conectar mis contenedores&#8217; a entenderlo de verdad","datePublished":"2026-03-11T18:20:23+00:00","dateModified":"2026-03-11T23:02:21+00:00","mainEntityOfPage":{"@id":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/"},"wordCount":355,"commentCount":0,"publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"keywords":["bridge","contenedores","devops","docker","linux","networking","port-mapping"],"articleSection":["Kubernetes"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/","url":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/","name":"Redes en Docker: de 'no puedo conectar mis contenedores' a entenderlo de verdad &#183; devops Mauro Bernal","isPartOf":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#website"},"datePublished":"2026-03-11T18:20:23+00:00","dateModified":"2026-03-11T23:02:21+00:00","breadcrumb":{"@id":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/maurobernal.com.ar\/blog\/redes-docker-networking-bridge-host-contenedores-comunicacion\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/maurobernal.com.ar\/blog\/"},{"@type":"ListItem","position":2,"name":"Redes en Docker: de &#8216;no puedo conectar mis contenedores&#8217; a entenderlo de verdad"}]},{"@type":"WebSite","@id":"https:\/\/maurobernal.com.ar\/blog\/#website","url":"https:\/\/maurobernal.com.ar\/blog\/","name":"devops Mauro Bernal","description":"Cuando tu trabajo es hacer que las cosas funcionen bien...","publisher":{"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/maurobernal.com.ar\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":["Person","Organization"],"@id":"https:\/\/maurobernal.com.ar\/blog\/#\/schema\/person\/09c4dbdfb59b20e015c703fd19713283","name":"Mauro Bernal","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","url":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","contentUrl":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1","width":1740,"height":1740,"caption":"Mauro Bernal"},"logo":{"@id":"https:\/\/i0.wp.com\/maurobernal.com.ar\/blog\/wp-content\/uploads\/2023\/07\/logo-maurobernal.png?fit=1740%2C1740&ssl=1"},"description":"Desarrollo de Sistemas en .Net, IT Callcenters, DBA de SQL Server, Mikrotik, Pentest y T\u00e9cnico consultor de Sistemas Bejerman","sameAs":["https:\/\/maurobernal.com.ar","https:\/\/x.com\/_maurobernal","https:\/\/youtube.com\/maurobernal"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/comments?post=1173"}],"version-history":[{"count":4,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1173\/revisions"}],"predecessor-version":[{"id":1248,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/posts\/1173\/revisions\/1248"}],"wp:attachment":[{"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/media?parent=1173"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/categories?post=1173"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/maurobernal.com.ar\/blog\/wp-json\/wp\/v2\/tags?post=1173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}