Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu 码头工人。从主机发送邮件_Ubuntu_Docker_Centos - Fatal编程技术网

Ubuntu 码头工人。从主机发送邮件

Ubuntu 码头工人。从主机发送邮件,ubuntu,docker,centos,Ubuntu,Docker,Centos,我可以使用邮件从主机发送邮件: mail -s "Hooray" smb@example.com < /dev/null 我怎样才能达到目标? 主机是Centos,docker使用Ubuntu。通过docker容器使用端口转发,您可以将容器的端口转发给主机。因此,邮件服务器已在主机上使用端口25。在这里,您需要将端口从主机转发到容器: 最简单的方法是使用--net=host选项: docker run --rm -it --net=host container mail -s "Hoo

我可以使用邮件从主机发送邮件:

mail -s "Hooray" smb@example.com < /dev/null
我怎样才能达到目标?
主机是Centos,docker使用Ubuntu。

通过docker容器使用端口转发,您可以将容器的端口转发给主机。因此,邮件服务器已在主机上使用端口25。在这里,您需要将端口从主机转发到容器:

最简单的方法是使用
--net=host
选项:

docker run --rm -it --net=host container mail -s "Hooray" smb@example.com < /dev/null
docker-run--rm-it--net=主机容器邮件-s“万岁”smb@example.com
不能在同一端口上侦听多个应用程序。因此,如果主机上已有应用程序在端口25上侦听,则可以停止该应用程序,或将容器配置为在其他主机端口上侦听,例如:

run -ti -p 2525:25 container

这使得端口从主机端口2525映射到容器端口25。如果您不需要从容器接收邮件,您可以完全删除此端口映射,这将仍然允许您发送出站消息

如果您不知道主机上端口25的用途,可以使用netstat命令查找:

sudo netstat -lntp

请注意,如果要查看正在端口上侦听的进程,则需要sudo。

也许有一种方法可以不使用--net=host来完成此操作?我还在网络中使用其他几个容器。我想从容器发送邮件(根本不想接收邮件),所以我根本不需要映射端口?如果您不需要从容器接收邮件,您可以完全删除此端口映射,这仍然允许您发送出站邮件。您好。你找到解决办法了吗?@spiil你好,没有,我放弃了:)我设法直接从gmail smtp服务器发送电子邮件哦,好的。谢谢你的回复:)
sudo netstat -lntp