[英]Docker. Send mail from host
我可以使用郵件從主機發送郵件:
mail -s "Hooray" smb@example.com < /dev/null
但是我想使用主機服務器從Docker容器發送郵件。 當我嘗試在運行命令中將其映射到25端口時,Docker表示“端口已在使用中”:
run -ti -p 25:25 container
我如何實現目標? 主機是Centos,碼頭工人使用Ubuntu。
將端口轉發與docker容器一起使用,可以將容器的端口轉發到主機。 因此,郵件服務器在主機上已經使用了端口25。 在這里,您需要將端口從主機轉發到容器:
最簡單的方法是使用--net=host
選項:
docker run --rm -it --net=host container mail -s "Hooray" smb@example.com < /dev/null
您不能使用多個應用程序在同一端口上偵聽。 因此,如果主機上已經有一個應用程序在偵聽端口25,則可以停止該應用程序,也可以將容器配置為偵聽其他主機端口,例如:
run -ti -p 2525:25 container
這將導致端口從主機端口2525映射到容器端口25。如果您不需要從容器接收郵件,則可以完全刪除此端口映射,這仍將允許您發送出站郵件。
如果您不知道主機上正在使用端口25的內容,則可以使用netstat命令查找它:
sudo netstat -lntp
請注意,如果您想查看正在端口上偵聽的進程,則必須使用sudo。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.