Docker / EC2:获得独占访问端口?

我想部署一个当前运行在裸机上的webapp。 我没有这方面的经验,但似乎Docker和EC2或类似的是要走的路。

该应用程序必须监听端口25,80和443,并讨论各种其他端口。 sendmail和作为应用程序的一部分的守护程序,也必须在本地主机上侦听。

问:我该怎么做,特别是当主机上的其他人也想在25/80/443 / etc上收听时发生了什么? 网上有很多类似的问题,但答案不一致和/或错误,从“不能做”到“使用nginx反向代理”。

我最想看到的就是容器附带的专用IP地址,以便我可以随意使用该IP地址(包括为端口25添加MXlogging)。 这可能是低成本的EC2 / etc实例,我怎样才能得到我的容器中的地址? 如果我有一个地址,我可以然后公开所有我需要的端口1对1( -p 25:25 )? 或者这对容器来说太复杂了,虚拟化会是一个更好的解决scheme吗?