Docker容器更改默认DNS服务器



我正在学习与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。

最新更新