我有一个容器,该容器通过3000端口公开一个Web应用程序,另外一个女巫通过docker dns访问它。
我想使用80端口访问此容器,而无需修改Web应用程序,也不需要将其直接暴露给主机(也称为--publish
)。基本上从内部将80端口转发到3000端口。
是否可以使用docker而不将容器修改为具有socat之类的东西?
答案 0 :(得分:1)
否,Docker没有此功能。唯一的端口重新映射是使用docker run -p
选项在Docker空间之外发布端口时,这永远不会影响服务间通信。您唯一的选择是更改服务器配置以侦听端口80,或更改客户端配置以包含显式端口3000。
(Kubernetes Services do 具有此功能,我倾向于将非特权端口从给定的Pod重新映射到Service中的标准HTTP端口,但这根本不是Docker的核心功能。)