Iul*_*ian 5 postgresql macos docker boot2docker docker-machine
我有一个 docker 映像,当我运行它时,我需要将主机 IP 地址作为环境变量传递。所以我需要这样的东西:
docker run --rm -it -e HOST_IP=<?????> -p 8000:8000 image
Run Code Online (Sandbox Code Playgroud)
我在 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
Run Code Online (Sandbox Code Playgroud)
错误中提到的地址192.168.99.100是我的docker-machine的IP。
我怎样才能获得正确的IP?
我不确定您是否可以访问 docker 容器内的主机 IP。因为我相信他们在不同的网络内。
您应该在另一个 docker 容器中运行 pgSQL,而不是在主机上访问 pgSQL,然后使用 docker-compose.yml 连接两个 docker 容器,以便它们可以相互链接,并通过 IP 相互访问。
更多详细信息: https: //docs.docker.com/compose/compose-file/
| 归档时间: |
|
| 查看次数: |
2734 次 |
| 最近记录: |