多网卡Docker宿主机上容器无法发送邮件的问题求助
多网卡Docker宿主机上容器无法发送邮件的问题求助
各位大佬好,最近碰到一个Docker容器发邮件的问题,折腾半天没头绪,来求助大家!
我的Docker宿主机有两个独立IP(暂时称它们为A和B):
- Apache服务绑定在IP A上,对应域名
web.mydomain.com - Postfix邮件服务绑定在IP B上,对应域名
mail.mydomain.com
我部署的这个Docker应用,本身设计是通过SMTP-AUTH连接mail.mydomain.com发送邮件;同时它的Web UI监听容器内的localhost:3000(docker ps显示端口映射为127.0.0.1:3000->3000/tcp),这部分已经通过Apache反向代理到外部的web.mydomain.com,功能是正常的。
我先测试了容器内的DNS解析,结果是正常的,能正确解析两个IP对应的域名:
nextjs@5b3fccbf323a:/app$ getent hosts 182.xx.xx.59
182.xx.xx.59 mail.mydomain.comnextjs@5b3fccbf323a:/app$ getent hosts 182.xx.xx.83
182.xx.xx.83 www.mydomain.com
但是当我在容器内部执行命令尝试连接邮件端口时,一直没有响应直到超时:openssl s_client -connect mail.mydomain.com:587 -starttls smtp
奇怪的是,从宿主机本身直接执行相同的连接命令是完全正常的,而且宿主机上其他Docker容器用同样的方式发送邮件也没有问题...
有没有大佬遇到过类似的情况?麻烦帮忙分析下可能的原因,谢谢!
备注:内容来源于stack exchange,提问作者TommyPeanuts
相关产品推荐
相关产品推荐

