首页 > 解决方案 > wsl2 nodejs容器无法将IP地址反转为其主机名

问题描述

  1. 使用带有 ubuntu 20.04 终端(wsl2)的 Windows 10
  2. 泊坞窗桌面 2.4.0.0
  3. docker 版本:19.03.13,docker-compose 版本:1.27.4
  4. 在 ubuntu 终端中将 nodejs 作为容器运行

我在来自 nodejs 的代码库中使用 dns.reverse。它所做的只是将 IP 地址映射到其主机名。这里使用的ipaddress是我公司的内部ipaddress。

同样的代码在Linux系统上运行没有问题。如果我尝试运行“host ip or nsloopup ip”命令,它在 ubuntu 终端中运行良好

当我运行 reverse() 函数时,它显示如下错误消息:

错误:QueryReqWrap.onresolve 处的 getHostByAddr ENOTFOUND xxxx [as complete] (dns.js:203:19) { errno: undefined, code: 'ENOTFOUND', syscall: 'getHostByAddr', hostname: 'xxxx' }

我的问题:

  1. 如果有人能告诉我这个问题是什么......以及为什么会发生......在此先感谢。
  2. 我确实在ubuntu终端中设置了/etc/resolv.conf,但它似乎没有与容器同步..或者它不被容器使用..然后它可以在我手动编辑后通过容器中的ip找到映射主机名/etc/resolv.conf 在 nodejs 容器中。错误是否仍然相同..有什么办法可以解决这个问题吗?

标签: node.jsdockerdnswindows-10wsl-2

解决方案


推荐阅读