docker container DNS如何配置
Docker containers默认使用的是Google的公共DNS,但是有时候我们希望能够使用自己的DNS服务器。这里介绍一种简单的方法来配置Docker containers的DNS。
首先,我们需要在宿主机上配置DNS服务器。这里我们使用的是bind9,配置文件如下:
```
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
zone "." {
type hint;
file "/etc/bind/db.root";
};
zone "localhost" {
type master;
file "/etc/bind/db.local";
};
zone "0.0.127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};
```
其中db.example.com文件内容如下:
```
$TTL 604800
@ IN SOA ns1.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
@ IN A 192.168.1.100
ns1 IN A 192.168.1.100
www IN CNAME example.com.
```
然后我们需要在Docker容器中使用这个DNS服务器。这里我们使用的是Ubuntu的Docker容器,配置文件如下:
```
FROM ubuntu
RUN echo "nameserver 192.168.1.100" >> /etc/resolv.conf
CMD ["/bin/bash"]
```
这样我们就在Docker容器中配置了DNS服务器。
相关文章