1.拉取镜像
docker pull coredns/coredns:latest
2.创建配置文件
vim /etc/coredns/Corefile
.:53 {
hosts {
1.1.1.1 oa1.xxx.cn
1.1.1.2 oa2.xxx.cn
fallthrough
}
forward . 8.8.8.8:53
log
}
3.启动容器
docker run -itd --name coredns \
--restart=always \
-v /etc/coredns/:/etc/coredns/ \
-p 53:53/udp \
coredns/coredns:latest -conf /etc/coredns/Corefile
4.配置说明
.:53 {
# 绑定interface ip
bind 127.0.0.1
# 先走本机的hosts
# https://coredns.io/plugins/hosts/
hosts {
# 自定义sms.service search.service 的解析
# 因为解析的域名少我们这里直接用hosts插件即可完成需求
# 如果有大量自定义域名解析那么建议用file插件使用 符合RFC 1035规范的DNS解析配置文件
10.6.6.2 sms.service
10.6.6.3 search.service
# ttl
ttl 60
# 重载hosts配置
reload 1m
# 继续执行
fallthrough
}
# file enables serving zone data from an RFC 1035-style master file.
# https://coredns.io/plugins/file/
# file service.signed service
# 最后所有的都转发到系统配置的上游dns服务器去解析
forward . /etc/resolv.conf
# 缓存时间ttl
cache 120
# 自动加载配置文件的间隔时间
reload 6s
# 输出日志
log
# 输出错误
errors
}