在不同的端口上重定向两个Docker容器的相同端口

时间:2017-07-29 20:41:05

标签: docker

我需要将Java应用程序运行到几个Docker容器中,以隔离它们的执行。

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

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

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

1 个答案:

答案 0 :(得分:5)

您已经混淆了主机端口和容器端口!

主机端口首先出现,必须是唯一的。容器端口排在第二位。如果你的java应用程序都在容器中的同一个端口上运行,你可能想要这样的东西:

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

或者如果他们真的暴露了容器中的不同端口:

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