2017-07-29 221 views
1

我需要将Java应用程序运行到多个Docker容器中,以隔离它们的执行。重定向两个Docker容器在不同端口上的相同端口

这个应用程序侦听端口12345,我运行我的码头容器与“-p 12345:5000”重定向端口12345(从码头容器)到我的主机端口5000。它工作正常。

但是当我使用“-p 12345:50001”运行另一个Docker容器时,出现错误“绑定0.0.0.0:12345失败:端口已分配。”

我不明白为什么..谢谢:)

回答

4

你混淆了你的主机和容器端口!

主机端口优先,必须是唯一的。其次是集装箱港口。你可能想是这样的,如果你的Java应用程序在容器中的同一个端口上的运行:

"-p 12345:50000" 
"-p 12346:50000" 

还是这个,如果他们真的在容器中暴露不同的端口:

"-p 12345:50000" 
"-p 12346:50001" 
+0

哦。的确!谢谢!真的很糟糕的错误... –

+0

有时你只需要使用你的超能力阅读! –

相关问题