2017-07-29 216 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

有時你只需要使用你的超能力閱讀! –

相關問題