我在Docker容器中存在Postfix實例的問題。我使用supervisord
來確保服務在後臺運行。但是,如果我構建映像,首次啓動它並嘗試發送郵件,Postfix會抱怨它無法解析給定地址的MX記錄(status=deferred (Host or domain name not found. Name service error for name=domain.tld type=MX: Host not found, try again)
)。Docker容器中的Postfix無法解析MX,除非它重新啓動一次
現在我安裝如果找出一個DNS的問題,但我可以直接解決MX:
$ dig mx domain.tld +short
90 aspmx2.googlemail.com.
90 aspmx3.googlemail.com.
10 aspmx.l.google.com.
50 alt1.aspmx.l.google.com.
50 alt2.aspmx.l.google.com.
然後我繼續重啓與service postfix restart
Postfix的,並很吃驚的是,MX問題不見了。我把這個問題重複了三次以上,而且總是一樣的。我必須發佈service postfix restart
以使Postfix的工作功能完整。
有人可以解釋我爲什麼甚至更好:如何解決這個問題?
在此先感謝!
我遇到同樣的問題。仍在努力。我發現如果我在容器中運行綁定並修改/etc/resolv.conf以使用127.0.0.1,則後綴DNS解析工作。對於這個解決方案不感到興奮,因爲我不確定如何保持resolv.conf設置固定。仍試圖找出根本原因。 – 2014-11-26 16:32:24
@JamesCooper我也是。即使將自定義DNS(Google)傳遞給Docker,也無法使其工作。這會導致我瘋了:P – frdmn 2014-12-18 08:07:49
同樣的問題,也與Exim。我安裝了'host',好奇地它回答了-t MX或-t ANY,這是我認爲Postfix和Exim正在解決的問題。 – jkoreska 2015-01-05 20:47:36