docker-compose 启动的外部服务首页进去耗时用了 10 几秒,真是被震惊了,首页用到的服务是 3 个。起初发现是因为 docker 的 dns 解析问题导致的。
vim /etc/systemd/system/docker.service.d/docker-dns.conf
本来 ndot 这里是 2,什么意思呢?
示意域名申请中点的个数,例如:www.baidu.com,ndot 就是 2,蕴含 2 个点。而我的服务中呢,就不是严格依照域名的形式来写的,都是一个单词,像 php 这种。那这会产生什么呢?
php 中 ndot 是 0,比原始配置的 2 小,会依照 dns-search 的配置拼上默认的 svc.cluster.local,而后按 php.svc.cluster.local 这个名字去找服务了,后果找不到,按 opt 里的配置,超时 2s,重试 2 次,之后再依照我本来的服务名去找,后果找到了,一个服务这就 4s 过来了,而后我所有的服务都没有点。就呵呵了。
改完之后重启 docker 守护过程,再重启 docker 服务。ok 了,变毫秒响应了!