修改 Docker 容器的 DNS
在使用 Docker 容器时,我们可能需要修改容器的 DNS 服务器地址,以便更快地解析域名。默认情况下,Docker 容器会使用宿主机的 DNS 设置。但是,有时候我们需要自定义 DNS 服务器地址,这时候就需要修改容器的 DNS 设置。
具体来说,我们可以使用以下方法修改 Docker 容器的 DNS 设置:
方法一:在启动容器时指定 DNS
在启动容器时,我们可以使用 --dns
参数指定 DNS 服务器地址。具体来说,我们可以使用以下命令启动容器并指定 DNS 服务器地址:
docker run --dns <dns-server> <image-name>
其中,<dns-server>
表示要使用的 DNS 服务器地址,可以是 IP 地址或域名。<image-name>
表示要启动的镜像名称或 ID。
方法二:在 Dockerfile 中设置 DNS
如果你需要在多个容器中使用相同的 DNS 设置,可以在 Dockerfile 中设置 DNS 服务器地址。具体来说,我们可以在 Dockerfile 中添加以下指令:
RUN echo "nameserver <dns-server>" > /etc/resolv.conf
其中,<dns-server>
表示要使用的 DNS 服务器地址,可以是 IP 地址或域名。
方法三:在容器内部手动修改 DNS
如果你已经启动了容器,但是需要修改 DNS 设置,可以在容器内部手动修改 /etc/resolv.conf
文件。具体来说,我们可以使用以下命令进入容器内部:
docker exec -it <container-id> /bin/bash
其中,<container-id>
表示要进入的容器 ID。进入容器后,我们可以使用以下命令修改 /etc/resolv.conf
文件:
echo "nameserver <dns-server>" > /etc/resolv.conf
其中,<dns-server>
表示要使用的 DNS 服务器地址,可以是 IP 地址或域名。
需要注意的是,以上方法都只会修改当前容器的 DNS 设置。如果你想让这个设置永久生效,需要将命令添加到容器启动脚本中,或者手动修改 /etc/resolv.conf
文件。
<dns-server>推荐阿里云的公共DNS服务器:
阿里云:223.5.5.5 223.6.6.6 IPv6:2400:3200::1
如果你不想用阿里云公共DNS,可以看看下表是否有你需要的:
云公共DNS服务器IP大全:
服务商 | 云公共DNS服务器IP大全 | |
---|---|---|
114DNS | 114.114.114.114 | 114.114.115.115 |
DNSPod DNS+ | 119.29.29.29 | 182.254.116.116 |
2402:4e00:: | ||
DNS 派 电信/移动/铁通 | 101.226.4.6 | 218.30.118.6 |
DNS 派 联通 | 123.125.81.6 | 140.207.198.6 |
cnnicDNS | 1.2.4.8 | 210.2.4.8 |
2001:dc7:1000::1 | ||
GoogleDNS | 8.8.8.8 | 8.8.4.4 |
2001:4860:4860::8888 | 2001:4860:4860::8844 | |
CloudflareDNS | 1.1.1.1 | 1.0.0.1 |
2606:4700:4700::1111 | 2606:4700:4700::1001 | |
IBM Quad9DNS | 9.9.9.9 | |
2620:fe::fe | 2620:fe::9 | |
DNS.SB | 185.222.222.222 | 185.184.222.222 |
2a09:: | 2a11:: | |
OpenDNS | 208.67.222.222 | 208.67.220.220 |
2620:0:ccc::2 | 2620:0:ccd::2 | |
V2EXDNS | 199.91.73.222 | 178.79.131.110 |
阿里云DNS | 223.5.5.5 | 223.6.6.6 |
2400:3200::1 | 2400:3200:baba::1 | |
腾讯云DNS | 183.60.83.19 | 183.60.82.98 |
百度云DNS | 180.76.76.76 | 2400:da00::6666 |
微软云DNS | 4.2.2.1 | 4.2.2.2 |
华为云DNS | 122.112.208.1 | 139.9.23.90 |
114.115.192.11 | 116.205.5.1 | |
116.205.5.30 | 122.112.208.175 | |
139.159.208.206 | ||
中華電信DNS | 168.95.192.1 | 168.95.1.1 |
香港宽频DNS | 203.80.96.10 | 203.80.96.9 |
赛门铁克诺顿DNS | 199.85.126.10 | 199.85.127.10 |
oracle+dynDNS | 216.146.35.35 | 216.146.36.36 |
瑞士瑞信银行DNS | 64.6.64.6 | 64.6.65.6 |
总之,以上方法可以帮助你修改 Docker 容器的 DNS 设置,让你的网络连接更加顺畅。
评论前必须登录!
注册