You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker嵌入式DNS反向DNS查询返回截断域名的问题咨询

Docker嵌入式DNS反向DNS查询返回截断域名的问题咨询

大家好,我最近在测试容器内的域名配置,想看看Docker的嵌入式DNS是怎么处理这些设置的,结果遇到了一个让我困惑的问题——反向DNS查询返回的域名被截断了,想请教下有没有朋友知道原因。

我给容器设置的完整域名(FQDN)格式是ldec<i>.n18.org,在容器里执行hostname --fqdn能正常返回预期的结果,比如ldec1.n18.org;用ping ldec1.n18.org测试也没问题,FQDN能正确解析到容器IP。

但当我执行反向DNS查询,比如dig -x <container_ip>时,得到的总是截断后的域名,比如下面的例子里,返回的是ldec3.n18,而不是完整的ldec3.n18.org:

root@ldec3:/# dig -x 172.18.0.4

; <<>> DiG 9.16.37-Debian <<>> -x 172.18.0.4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21081
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;4.0.18.172.in-addr.arpa.       IN      PTR

;; ANSWER SECTION:
4.0.18.172.in-addr.arpa. 600    IN      PTR     ldec3.n18.

;; Query time: 0 msec
;; SERVER: 127.0.0.11#53(127.0.0.11)
;; WHEN: Mon Apr 17 18:59:38 UTC 2023
;; MSG SIZE  rcvd: 87

下面是我用来复现问题的环境配置:

构建测试镜像的命令

docker build --tag=debian:11-lde - <<EOF
FROM debian:11
ARG DEBIAN_FRONTEND=noninteractive
ENV APT_CMD="apt-get install -y --no-install-recommends"

RUN echo "===> Add tools..."  \
&& apt-get update  \
&& apt-get install -y --no-install-recommends \
iputils-ping bind9-dnsutils lsof \
openssh-*   \
wget curl  \
iptables whois iproute2 net-tools \
vim less sudo bash-completion patch \
ca-certificates \
&& apt-get autoremove -y \
&& echo OK
EOF

创建网络并启动3个容器的脚本

docker network create --driver=bridge n18 --subnet=172.18.0.0/24 || true

for i in $(seq 1 1 3)
do
docker rm -f "ldec${i}" || true
declare domain="n18.org"
docker run --interactive --tty --detach --rm --name "ldec${i}" \
--network=n18 --hostname="ldec${i}.${domain}" \
--dns="8.8.8.8" \
debian:11-lde
done

有没有大佬能帮忙解释下为什么dig会返回截断的域名呢?

备注:内容来源于stack exchange,提问作者creatldd1 creatldd1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:44:50