El host puede acceder a la red pública pero no se puede acceder en el contenedor Docker Fallo temporal en la resolución de nombres

El host puede acceder a la red pública pero no se puede acceder en el contenedor Docker Fallo temporal en la resolución de nombres


Parámetros del contenedor 

También configuré el dns de docker-compose.yml. Lógicamente hablando, debería ser accesible, pero sigue rozando el suelo.

  web:
    build: .
    restart: always
    ports:
      - "6699:80"
    dns:
      - 114.114.114.114
      - 8.8.8.8
    volumes:
      - "./:/app"
    networks:
      backend:

solución de problemas

Si se puede acceder al contenedor usando la dirección IP pública, puedo acceder aquí, pero no puedo acceder usando el nombre de dominio. Al acceder al nombre de dominio a través de telnet, aparece una falla temporal en la resolución del nombre, lo que significa que el nombre de dominio no puede resolverse. El problema debe estar en DNS, así que aquí viene la pregunta. Inspiración: ¿No es suficiente mantener el DNS del contenedor consistente con el del host? Como resultado, probaré el siguiente método para verificar el exactitud de mi suposición.

Solución

Verifique el servicio DNS del host

 cat /etc/resolv.conf

 Luego agregue el servidor de nombres del host al contenedor.

  web:
    build: .
    restart: always
    ports:
      - "6699:80"
    dns:
      - 183.xx.xx.19 // 把宿主机的域名服务添加在这里
      - 183.xx.xx.98 // 把宿主机的域名服务添加在这里
      - 114.114.114.114
      - 8.8.8.8
    volumes:
      - "./:/app"
    networks:
      backend:

Luego guarde, ejecute docker-compose up -d --build para actualizar la configuración del contenedor y listo.

Supongo que te gusta

Origin blog.csdn.net/meimeieee/article/details/131521090
Recomendado
Clasificación