[英]How do you connect to postgres running in a Docker container on OSx?
我有在OSx上的Docker容器中運行的postgres。 一開始,我嘗試在本地連接它。 我開始使用以下容器:
docker run -i -d -h localhost -p 5432:5432 --name some-postgres -t my-postgres:9.6 postgres
經過一番挖掘后,我發現您無法通過OSx上的localhost
連接到它,您需要連接到docker內部使用的ip地址。 所以我用docker-machine
在192.168.99.100:2376
創建了一個虛擬docker-machine
。 但是,我仍然無法通過192.168.99.100:5432
連接到postgres。 我想念什么? 任何幫助將不勝感激。
這是一個工作示例,說明如何使用Docker for Mac啟動Postgres。 這與您的示例相似。
請注意,這不是 docker-machine,因此網絡的工作方式可能有所不同。
docker run --rm -it \
-p 5432:5432 \
-e POSTGRES_USER=user-ms \
-e POSTGRES_PASSWORD=12345 \
postgres
我嘗試從Docker主機建立與它的連接…
Localhost工作:
psql --user user-ms -h localhost
本地IP地址也起作用:
psql --user user-ms -h "$(ifconfig \
| grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" \
| grep -v 127.0.0.1 \
| awk '{ print $2 }' \
| cut -f2 -d: \
| head -n1)"
如果您有適用於Mac的Docker,則它應該可以在localhost
正常運行: https : //docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.