我在一个虚拟机中使用在Docker中运行的Postgres,我想使用以下命令连接到另一个虚拟机上的此Postgres:
psql -h \<IP_Address\> -p \<port_no\> -d \<database_name\> -U \<DB_username\>.
我知道我必须更改pga_hba.file,但我也知道容器的内容不能更改。我认为最好的方法是用pga_hba.conf添加一个卷,但我不知 prop 体如何操作。我将非常感谢你的帮助。
我尝试了这个命令:
docker run -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=db_tes -v /var/lib/postgresql/data -p 5432:5432 postgis/postgis:13-master
1条答案
按热度按时间4ioopgfo1#
实际上,postgresql容器中的
pg_hba
文件是为0.0.0.0
上的暴露端口5432
配置的。你不需要为此创造音量。假设你的机器ip是
192.168.1.2
。以这种方式运行容器:检查您的防火墙(可能端口
5432
被封锁).现在postgres正在监听:192.168.1.2:5432
你可以在你的另一台机器上用这个命令连接到它(如果它们在同一个子网中)。假设你的另一台机器的ip是
192.168.1.25
:然后你可以看到你的数据库。
(对不起,我的英语太差了)