2015-11-30 42 views
3

我有一個docker鏡像,當我運行它時,我需要將主機IP地址作爲環境變量傳遞。所以,我需要的是這樣的:在OS X上運行Docker容器時如何傳遞主機IP作爲環境變量

docker run --rm -it -e HOST_IP=<?????> -p 8000:8000 image 

我使用的碼頭工人在OS X上基本上這一形象正在運行,我想連接到我的本地PostgreSQL服務器的服務。該服務從環境變量中讀取服務器主機IP。

如何獲取主機的IP以供docker使用?

如果我使用本地計算機的地址192.168.99.1(從ifconfig),psycopg2抱怨:

psycopg2.OperationalError: FATAL: no pg_hba.conf entry for host "192.168.99.100", user "postgres", database "database", SSL off 

在錯誤中提到的地址192.168.99.100是我的泊塢窗機的IP。

如何獲得正確的IP?

回答

1

我不確定你可以在Docker容器中看到主機ip。因爲我相信他們在不同的網絡裏面。

不是在主機上訪問pgsql,而應該在另一個docker容器中運行pgsql,然後使用docker-compose.yml來連接兩個docker容器,以便它們可以相互鏈接,並通過ip訪問對方。在docker.com

更多細節:https://docs.docker.com/compose/compose-file/

+0

是啊,那是在最後一個良好的解決方案。謝謝。 – Iulian

相關問題