ANAYIL GROUPHosting · My Domains Submit a Ticket
Help center
HomeAplicaciones Docker[DOCKER-012] Contenedores no pueden comunicarse por la red esperada
Aplicaciones Docker7 min•Difficulty: Intermedio

[DOCKER-012] Contenedores no pueden comunicarse por la red esperada

`Connection timed out` entre servicios

Ingeniería de Soporte AnayilUpdated: 2026-10-10

Apply this guide to your situation

This answer covers “[DOCKER-012] Contenedores no pueden comunicarse por la red esperada”. Read it with the summary and confirm that the symptom and service match what you are experiencing. Available options can vary by plan and account setup.

  • Before changing anything, note what you expected, what happened and roughly when. Check whether the issue affects one page or the whole service.
  • Save the full error message and note recent changes. Hide passwords, access codes, personal data and keys before sharing screenshots or logs.
  • If a step requires administrator access, restarting services or editing server files, stop if you do not administer that server. Send support the service name, error and checks you have already made.

L3 technical diagnosis

Containers cannot communicate on the expected networkSeverity: Conectividad

User symptoms

`Connection timed out` entre servicios

Observed code or message

Alta

Likely root cause

DNS puede resolver, pero handshake al puerto interno no responde.

Likely-cause and resolution matrix

Follow a branch only when evidence supports it. A symptom may have more than one cause; do not change layers by guesswork.

01Red, DNS, ruta BGP/Anycast o filtrado de firewall/ASN

Why it can happen: Si «contenedores no pueden comunicarse por la red esperada» varía por ubicación, red o proveedor, puede fallar la resolución autoritativa, una ruta de tránsito, el anuncio Anycast o una regla UFW/iptables/fail2ban. Una prueba desde un único punto no permite atribuir el problema a BGP ni a un ASN.

How to diagnose (read-only):
bash
`dig +trace HOST`
`curl -sv --connect-timeout 5 --max-time 15 https://HOST/ -o /dev/null`
`mtr -rwzc 5 HOST` (si está disponible; compara varias redes)

Step-by-step resolution:
1. Compara DNS y conectividad desde dos redes y conserva hora UTC, destino y salida redactada. 2. Si falla antes del servicio, pide al administrador/proveedor que compruebe ruta, firewall, Anycast y bloqueos por IP/ASN. 3. No vacíes reglas ni desactives fail2ban; solicita una excepción limitada solo si el operador confirma un falso positivo. 4. Repite la prueba desde la misma ubicación y desde otra red.

02Filesystem, cuota, inodos, permisos POSIX/ACL o atributo inmutable

Why it can happen: Una operación relacionada con «contenedores no pueden comunicarse por la red esperada» puede fallar aunque el proceso esté activo si el volumen llegó a su cuota/inodos, el usuario de servicio perdió acceso por POSIX/ACL, un atributo inmutable bloquea la escritura o el filesystem reporta errores.

How to diagnose (read-only):
bash
`df -hT; df -i`
`namei -l RUTA_AFECTADA`
`getfacl -p RUTA_AFECTADA` y, si se administra el host, `lsattr RUTA_AFECTADA`
Revisa eventos del filesystem con el operador; para ZFS/EXT4 no ejecutes reparaciones en línea a ciegas.

Step-by-step resolution:
1. Identifica el mount, cuota e inodos afectados; no borres datos para liberar espacio sin conocer su propietario. 2. Pide al administrador que valide ACL, propietario, modo y atributos contra el diseño esperado. 3. Corrige solo la ruta y el principal mínimos; nunca uses `chmod -R 777`. 4. Si hay errores ZFS/EXT4, conserva logs y deja scrub/fsck y recuperación al operador, con ventana y copia verificadas.

03Memoria, procesos, sockets PHP-FPM, swap o bloqueos de base de datos

Why it can happen: La carga asociada a «contenedores no pueden comunicarse por la red esperada» puede agotar memoria/cgroup o swap, saturar workers/sockets PHP-FPM, alcanzar límites de procesos o quedar esperando un lock/un pool de conexiones de MySQL/MariaDB.

How to diagnose (read-only):
bash
`free -h; vmstat 1 5`
`ps -eo pid,comm,%mem,%cpu --sort=-%mem | head`
En cgroup v2: `cat /sys/fs/cgroup/memory.events`
Pide al DBA métricas sanitizadas de waits/locks y al operador métricas del pool PHP-FPM; no compartas consultas con datos personales.

Step-by-step resolution:
1. Correlaciona OOM, swap-in/out, cola de workers y espera de conexiones con la hora del síntoma. 2. Reduce concurrencia o corrige la fuga/consulta en staging antes de subir límites. 3. Solicita al administrador dimensionar memoria, pool y cuotas conjuntamente; aumentar solo `max_children` puede agravar el OOM. 4. Verifica que los contadores dejan de crecer y que la latencia se recupera bajo carga controlada.

04Runtime, proxy/upstream, socket local o negociación TLS/SNI

Why it can happen: El proceso de «contenedores no pueden comunicarse por la red esperada» puede no escuchar en la interfaz/puerto esperado o el proxy Nginx/LiteSpeed puede apuntar a un upstream/socket incorrecto. También pueden intervenir un worker Node.js/Bun o Python WSGI caído, cabeceras proxy incorrectas, certificado vencido o SNI que no coincide.

How to diagnose (read-only):
bash
`curl -sv --connect-timeout 5 --max-time 15 https://HOST/RUTA -o /dev/null`
`openssl s_client -connect HOST:443 -servername HOST -verify_return_error </dev/null`
Con acceso autorizado: contrasta listener, upstream configurado y logs del runtime; no publiques sus secretos.

Step-by-step resolution:
1. Separa respuesta del proxy, handshake TLS y estado del proceso; conserva códigos HTTP y hora UTC. 2. Comprueba bind/puerto, healthcheck, socket y configuración de upstream contra el despliegue vigente. 3. Valida cadena/SAN/SNI y cabeceras forwarded; prueba cambios primero en staging. 4. El operador puede validar la configuración y hacer reload controlado; confirma respuesta desde proxy y origen.

05API, webhook, rate limit, CORS o autenticación Bearer/HMAC

Why it can happen: Si «contenedores no pueden comunicarse por la red esperada» depende de una API, pueden producirse 401/403 por token/rol, 429 por cuota, 5xx/timeout, CORS por origen/método, o rechazo HMAC por cuerpo/fecha/firma distintos. Un webhook puede reintentarse y duplicar efectos si no es idempotente.

How to diagnose (read-only):
bash
`curl -sv --connect-timeout 5 --max-time 20 https://API_HOST/RUTA -o /dev/null`
Registra método, ruta sin datos sensibles, código, `Date`, `Retry-After`, duración e ID de petición. Comprueba CORS en la consola del navegador. No incluyas Bearer tokens ni secretos HMAC.

Step-by-step resolution:
1. Verifica identidad, permisos, reloj del emisor y alcance del token mediante el gestor oficial; rota una credencial solo por canal seguro. 2. Para 429 respeta `Retry-After` y aplica backoff con jitter e idempotency key; no repitas operaciones de escritura a ciegas. 3. Para CORS valida origen exacto, método y cabeceras permitidas en el servidor que responde; CORS no sustituye autenticación. 4. Para HMAC confirma bytes exactos del cuerpo, algoritmo, timestamp y secreto compartido en ambos extremos; prueba un evento no productivo.

Prerequisites

  • Nombre del servicio/contenedor, ventana del incidente y acceso de lectura al host Docker administrado.
  • No copies contraseñas, tokens, claves privadas ni datos personales en comandos o tickets.

Important warnings

  • La administración de aplicaciones Docker no está implementada en Anayil Panel; estos comandos son para infraestructura propia autorizada.
  • Ejecuta comandos únicamente en sistemas que administras; prioriza consultas de lectura y sigue el runbook de cambios aprobado.

Step-by-step walkthrough

1. Verificación inicial

Recoge hora UTC, hostname/servicio afectado y alcance. Ejecuta solo la consulta de lectura indicada y guarda salida redactada. DNS puede resolver, pero handshake al puerto interno no responde.
bash
Redes aisladas, puerto interno incorrecto, proceso escucha solo en loopback o política host bloquea tráfico.

2. Acción correctiva controlada

`docker network inspect app-net` `docker exec web sh -c 'nc -vz -w 3 api 8080'`

3. Comprobación del arreglo

Confirma red compartida y puerto de escucha del proceso dentro del contenedor. Ajusta exposición interna según topología aprobada; evita `--network host` como atajo general.
Expected output:
La señal/consulta de verificación coincide con el resultado esperado y el mensaje de error deja de reproducirse.

Troubleshooting & Solutions

Alta

Root cause: DNS puede resolver, pero handshake al puerto interno no responde.

Resolution: `docker network inspect app-net` `docker exec web sh -c 'nc -vz -w 3 api 8080'`

Rollback and recovery plan

Antes de aplicar una corrección, guarda configuración y estado previo. Si la métrica empeora o aparece un efecto secundario, detén el cambio y usa el procedimiento de reversión del propietario del servicio; no borres datos ni volúmenes para recuperar capacidad.

Related runbooks in this category:

Was this technical guide helpful?

Facing a production outage?

Hosting Anayil system administrators can directly intervene on your server infrastructure.

Open Support Ticket at Hosting Anayil