2017-07-05 105 views
0

我對docker概念非常陌生並瞭解其基本知識。 我只是想知道如何使用docker構建多租戶應用程序。 容器將使用不同schema的本地託管數據庫。使用nginx我們可以做反向代理,但我們如何實現它? ,因爲每個容器都將被localhost:8080訪問,以及我們如何添加上游和服務器部分。 如果有人向我解釋它會很有幫助。如何使用docker構建多租戶應用程序

回答

0

如果我理解正確,您希望容器中的進程連接到主機上的資源。

從橋模式的默認容器角度來看,主機的IP是網關。不幸的網關IP地址可能會有所不同,只能在運行時確定。

這裏有一些方法來獲得它:

  • 從主機使用泊塢窗檢查:docker inspect <container name or ID>。該網關將在NetworkSettings.Networks.Gateway下提供。
  • 從容器中,你可以執行其他route | awk '/^default/ { print $2 }'

一種可能性是運行您的容器時要使用--net=host。 這將使您在與主機上的進程相同的網絡上運行進程。這樣做將使您的數據庫可以通過localhost的容器進行訪問。

請注意,使用--net=host不適用於Docker for mac/windows。

+1

沒有必要使用主機的IP。如果數據庫設置爲偵聽localhost和docker0接口或所有接口(不建議出於安全原因),則docker0接口地址(通常爲172.17.0.1)將起作用。 –

相關問題