【问题标题】:Docker image stops resolving host.docker.internal after I add 8.8.8.8 DNS entry添加 8.8.8.8 DNS 条目后,Docker 映像停止解析 host.docker.internal
【发布时间】:2022-01-20 01:10:56
【问题描述】:

我必须添加 2 个 DNS 条目 8.8.8.88.8.4.4,之后我的图像无法连接到 Xdebug,因为我的图像中不再识别 host.docker.internal

curl: (6) Could not resolve host: host.docker.internal(在 docker 镜像内部执行)

php:
  build:
    context: docker
    dockerfile: php.dockerfile
  container_name: php-site
  volumes:
    - .:/var/www/html
  ports:
    - "9000:9000"
  networks:
    - laravel
  dns: 
    - 8.8.8.8
    - 8.8.4.4

当我删除这些 DNS 条目并重新加载容器时,一切正常。

我觉得解决方案并不难找到,但我不是网络专家,所以我请你帮忙。

【问题讨论】:

    标签: docker networking dns xdebug


    【解决方案1】:

    在架构上,容器解决方案都运行内部 DNS 服务,这些服务转发给上游 DNS 提供商,如 8.8.8.8,如果您直接将 DNS 设置为在 8.8.8.8 进行解析,则不会通过内部 DNS “代理”,即负责解析docker.internal等

    上游是通过 /etc/resolv.conf 设置的,因此如果您将系统 DNS 更新为 8.8.8.8 会更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2020-10-19
      • 1970-01-01
      • 2020-02-22
      相关资源
      最近更新 更多