记一次docker-compose启动的内部服务响应超慢的问题

docker-compose启动的内部服务首页出来耗时用了10几秒,真是被震惊了,首页用到的服务是3个。后来发现是因为docker的dns解析问题导致的。

vim /etc/systemd/system/docker.service.d/docker-dns.conf
image.png
原本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守护进程:
systemctl daemon-reload

再重启docker服务:
service docker restart

ok了,变毫秒响应了!

你可能感兴趣的:(docker,docker-compose,dns解析)