Docker-pg_hba.conf中的PostgreSQL允许从主机访问容器
我想在Docker容器中运行PostgreSQL。我正在构建自己的Docker映像,因为我希望包含PostgreSQL扩展。我应该将Docker-pg_hba.conf中的PostgreSQL允许从主机访问容器,postgresql,docker,Postgresql,Docker,我想在Docker容器中运行PostgreSQL。我正在构建自己的Docker映像,因为我希望包含PostgreSQL扩展。我应该将pg_hba.conf配置文件编辑为: 允许来自其他容器的访问 允许从主机发起的访问 第一个很简单:如果我没有弄错的话,我可以为172.17.0.0/16添加一条规则 但是我怎样才能接近第二个呢?当主机连接到容器中的psql时,IP(或范围)是什么样子的 备注:我正在通过docker run-p 127.0.0.1:5432:5432启动容器,因此理论上我可以允许p
pg_hba.conf
配置文件编辑为:
172.17.0.0/16添加一条规则
但是我怎样才能接近第二个呢?当主机连接到容器中的psql时,IP(或范围)是什么样子的
备注:我正在通过docker run-p 127.0.0.1:5432:5432
启动容器,因此理论上我可以允许pg_hba.conf
中的所有
,因为端口转发仅绑定到127.0.0.1
。但是我更喜欢在pg_hba.conf
中使用这种额外的安全级别,以防我(可能是错误地)通过docker run-p 5432:5432
运行容器。我希望这是有道理的
更新
实际上,设置范围172.17.0.0/16
似乎不正确。例如,在我的测试中,我的容器的IP172.18.0.2
。根据我到目前为止的调查,似乎对默认范围或如何配置该范围没有达成一致意见。检查docker0桥接器界面在您的情况下,它可能是172.18.0.0/16
在postgresql.conf路径中进行更改将与pg_hba.conf相同
在“*”中列出姓名
然后在pg_hba.conf中将规则添加为
托管所有172.18.0.0/16 md5
使用hostip运行docker:docker run-p:5432:5432
这样,同一docker n/w上的其他集装箱船也可以从主机连接,但不能从其他主机连接。您能解释一下为什么在pg_hba.conf中设置172.18.0.0/32
?为什么不172.18.0.0/16
?很抱歉,它的拼写正确值是172.18.0.0/16/32,请给出单个容器ip。