运行 主机模式下 Postgres 容器不接受连接

Postgres container does not accept connections when run host mode

我正在尝试 运行 容器中的 Postgres。

当我使用以下命令启动容器时,我将我机器的端口 5432 映射到容器的端口,Postgres 接受来自另一个进程的连接并且一切正常。

docker run --name postgres --rm -e POSTGRES_HOST_AUTH_METHOD=trust -p 5432:5432 -d postgres

netstat-ing 端口也很好,即

nc -z localhost 5432
Connection to localhost port 5432 [tcp/postgresql] succeeded!

现在,如果我使用主机模式 运行 postgres 容器,它会停止接受连接。基本上以下不起作用:

docker run --name postgres --rm -e POSTGRES_HOST_AUTH_METHOD=trust --net=host -d postgres

我在 Whosebug 上看到了一个类似的问题,但它没有解释为什么事情不起作用。这是该问题的 link: Connection Error with docker postgres using network=host

对于为什么第二个命令不起作用的任何想法表示赞赏。谢谢。

我不知道 mac 不支持主机网络这一事实。

来自https://docs.docker.com/network/host/

的片段
The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.

另一个相关的问题: