我正在学习使用Docker容器,我尝试了我认为简单的练习,但遇到了问题。我想使用容器来更改我的机器使用的默认DNS服务器。 所以,当我说
>> host facebook.com
结果应该是一样的
>> host facebook.com _myserverIP_
所以我环顾四周,在Docker hub上找到了几个图像,并根据这些非常简单的Dockerfile:
FROM alpine:latest
RUN apk --no-cache add dnsmasq
COPY dnsmasq.conf /etc/dsnmasq.conf
EXPOSE 53/tcp 53/udp
VOLUME ["/etc/dnsmasq"]
CMD ["dnsmasq"]
在dnsmasq.conf中,我把:
log-queries
no-resolv
server= _myserverIP_
我建立并运行:
docker build -t dns .
docker run --name dns3 -d -p 53:53/udp --cap-add=NET_ADMIN dns
这给了我2c3f046593c5d6e664d202e78d92172c75f71b95c45a9ea307af49bd1e2d5125
但是当我试图看到哪些容器正在运行时,我发现这个容器甚至没有运行,所以我不能做下一步检查它是否正常工作。
我显然缺少一些基本的东西,但无法弄清楚是什么。
您的系统将查看/etc/resolv.conf
以确定要使用的DNS服务器。使用本指南确定dnsmasq如何使用/etc/resolv.conf
https://wiki.debian.org/HowTo/dnsmasq
我怀疑你也需要安装resolv.conf。