我們dockerizing我們的微觀服務的應用程序,我遇到了一些問題的發現。可以(或應該)2個碼頭集裝箱通過本地主機互相交互?
該應用程序的配置如下:
當一個服務是「非本地」模式啓動,它使用領事作爲它的發現註冊表。 當服務以「本地」模式啓動時,它會自動綁定每個服務的地址(例如,tcp:// localhost:61001,tcp:// localhost:61002等等硬編碼地址)
dockerizing應用程序(僅適用於本地模式,現在)每個服務是一個容器後(策劃泊塢窗圖像與碼頭工人,撰寫,並與泊塢窗機,如果該事項) 但由於他們是一個服務不能與其他服務進行交互不在同一臺機器上,tcp:// localhost:61001顯然不起作用。
使用與links泊塢窗,撰寫並指定localhost作爲一個別名(服務是:localhost)沒有工作。有2種容器可以「共享」相同的本地主機嗎?
如果沒有,什麼是接近最好的方法? 我想過使用每個服務的特定主機名,然後在docker-compose的鏈接部分指定主機名。 (但我懷疑這是優雅的解決方案) 或者可能使用碼頭版Consul並與其集成?
此文章:How to share localhost between two different Docker containers?提供了一些有關爲什麼localhost不應該被搞砸的見解 - 但我仍然對這裏的正確方法感到困惑。
謝謝!
綁定到0.0.0.0而不是localhost,然後通過鏈接共享,如前所述。您不需要手動指定主機名,默認情況下它是容器名稱。 – jordanm