簡體   English   中英

在OS X上運行docker容器時如何將主機IP作為環境變量傳遞

[英]How to pass host IP as environment variable when running a docker container on OS X

我有一個docker鏡像,當我運行它時,我需要將主機IP地址作為環境變量傳遞。 所以我需要這樣的東西:

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

我在OS X上使用Docker。基本上這個映像運行的服務我想連接到我的本地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是我的docker-machine的IP。

我怎樣才能獲得正確的IP?

我不確定你是否可以訪問docker容器中的主機IP。 因為我相信他們在不同的網絡里面。

您應該在另一個docker容器中運行pgSQL,然后使用docker-compose.yml連接兩個docker容器,以便它們可以相互鏈接,並通過IP訪問彼此,而不是在主機上訪問pgSQL。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM