Linux

Cómo corregir el error «Se agotó el tiempo de espera de los encabezados» de Docker

Jack Wallen descubrió que el comando Docker no pudo descargar imágenes en varias máquinas. La pregunta lo desconcertó, pero resultó ser simple.

error de la computadoraAdvertencia de usuario de página no disponible, alerta de símbolo de atención por problema, cliente enojado cerca del dispositivo de monitoreo, concepto de vector
Imagen: MicroOne/Adobe Stock

Recientemente, noté algunos casos en los que desplegué la imagen de Docker o ejecuté el comando docker compose up -d, solo para ver el siguiente error:

request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

Probé de todo, desde reiniciar, iniciar sesión en Docker Hub y reinstalar Docker CE, pero nada resuelve este error. Pasé una buena cantidad de tiempo resolviendo problemas, pero finalmente encontré el problema y estoy impresionado por la simplicidad de la solución.

VER: Kit de herramientas de contratación: Desarrollador backend (Tecnopedia Premium)

La mayoría de las veces, este problema se debe a que la máquina que ejecuta el comando Docker está detrás de un proxy. En este caso, el comando Docker no puede comunicarse correctamente con hub.docker.com. Sin embargo, este no es el caso en mi caso. De hecho, ninguno de mis servidores está detrás de un proxy. Entonces, ¿qué se dio?

Cómo solucionar el problema de tiempo de espera del encabezado de Docker

Lo primero que debe intentar es usar el comando Docker para iniciar sesión. Para hacer esto, primero debe crear un token de acceso en su cuenta de DockerHub:

  1. Inicie sesión en su cuenta de DockerHub.
  2. Haz clic en tu foto de perfil en la esquina superior derecha.
  3. Haga clic en Configuración de la cuenta.
  4. Ir a la sección de seguridad.
  5. Haga clic en Nuevo token de acceso.
  6. Asigne un nombre al nuevo token y asigne derechos de acceso.
  7. Haz clic en Generar.
  8. Copie el código de acceso generado al portapapeles.
LEER  El mejor material de preparación para el examen CompTIA Linux+ XK0-004

Vaya a una ventana de terminal en la máquina que ejecuta Docker e inicie sesión con:

docker login

Se le solicitará su nombre de usuario de DockerHub seguido de un token de acceso. Pegue el token de acceso en la terminal y presione Entrar en el teclado. Luego, debe iniciar sesión en DockerHub y estar listo para comenzar. Intenta bajar la imagen con:

docker pull nginx

Si esto funciona, estás listo para irte. Si no, hay otra cosa que puede probar que podría resolver el problema porque eso es lo que hizo por mí.

Todo depende de su servidor DNS. Generalmente uso los servidores DNS de Cloudflare en 1.0.0.1 y 1.1.1.1. Con estos servidores DNS configurados, el comando pull de Docker me falló recientemente. Para solucionar esto, simplemente cambié a los servidores DNS de Google en 8.8.8.8 y 8.8.4.4. Así es como lo cambié en Ubuntu Server 22.04.

Abra el archivo de configuración de su dispositivo de red, por ejemplo, con el siguiente comando:

sudo nano /etc/netplan/00-installer-config.yml

En ese archivo, asegúrese de que las entradas del servidor de nombres se vean así:

nameservers:
addresses: [8.8.8.8,8.8.4.4]

Guarde y cierre el archivo. Aplicar los cambios:

sudo netplan apply

Una vez que netplan haya hecho su trabajo, intente extraer una imagen de DockerHub y debería ver el éxito.

Esta es una solución muy simple a un problema que me ha estado molestando por un tiempo. Con suerte, esta solución simple hará que Docker funcione como se esperaba.

Suscríbete a Tecnopedia Cómo hacer que la tecnología funcione Obtenga los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen en YouTube.

LEER  System76 está a punto de redefinir la experiencia de escritorio de Linux con COSMIC

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba