如何在docker中配置postgres以远程连接到它

vyswwuz2  于 2023-05-16  发布在  Docker
关注(0)|答案(1)|浏览(417)

我在一个虚拟机中使用在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
4ioopgfo

4ioopgfo1#

实际上,postgresql容器中的pg_hba文件是为0.0.0.0上的暴露端口5432配置的。你不需要为此创造音量。
假设你的机器ip是192.168.1.2。以这种方式运行容器:

docker run -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=db_tes -v /var/lib/postgresql/data -p 5432:5432 postgres:13.6

检查您的防火墙(可能端口5432被封锁).现在postgres正在监听:192.168.1.2:5432
你可以在你的另一台机器上用这个命令连接到它(如果它们在同一个子网中)。假设你的另一台机器的ip是192.168.1.25

psql -h 192.168.1.2 -p 5432 -d <database_name> -U <DB_username> -p

然后你可以看到你的数据库。
(对不起,我的英语太差了)

相关问题