在不同端口redirect两个Docker容器的相同端口
我需要运行一个Java应用程序到几个Docker容器中,以隔离它们的执行。
这个应用程序侦听端口12345,我用“-p 12345:5000”运行我的docker容器redirect端口12345(从docker容器)到我的主机端口5000。 它工作正常。
但是,当我运行另一个docker容器“-p 12345:50001”,我有一个错误“绑定0.0.0.0:12345失败:端口已被分配。
我不明白为什么..谢谢:)
你已经混淆了你的主机和容器端口!
主机端口是第一位的,必须是唯一的。 集装箱港口排在第二位。 你可能想要这样的东西,如果你的Java应用程序都在容器中的同一个端口上运行:
"-p 12345:50000" "-p 12346:50000"
或者如果他们真的在容器中暴露不同的端口:
"-p 12345:50000" "-p 12346:50001"