我在 Ubuntu 12.04 上运行 LXC 容器,内核为 3.8。容器位于仅主机网络上,因此它们的地址由 dnsmasq 管理。有没有办法配置主机,以便 getaddrinfo()(在主机上)可以解析容器名称?(我知道有办法从 shell 解析容器名称,但我正在寻找可以与 getaddrinfo() 配合使用的方法)。
答案1
下列操作适用于 12.04 和 3.11 内核。在主机上,将以下内容添加到 /etc/resolvconf/resolv.conf.d/head:
nameserver 10.0.3.1
然后在主机上运行此命令来更新您的 /etc/resolv.conf:
sudo resolvconf -u
之后,从容器的 /etc/resolvconf/resolv.conf.d/original 中删除以下内容:
nameserver 127.0.0.1
然后在容器中运行此命令来更新其 /etc/resolv.conf:
sudo resolvconf -u