[英]Can't connect to Postgres Docker container remotely
我有一個使用官方 Postgres docker 映像在 centos 機器上運行的 docker 容器,但它無法遠程連接。 sudo docker ps | grep postgres
sudo docker ps | grep postgres
給出
492192ff9170 postgres "/docker-entrypoint.s" 2 年前 上升 18 小時 0.0.0.0:5432->5432/tcp postgres
當我在另一台機器上嘗試psql -h <server domain name> -p 5432 -U postgres
時,它只是打印出來
psql:無法連接到服務器:操作超時
服務器是否在主機 [域名]([ip 地址])上運行並接受端口 5432 上的 TCP/IP 連接?
我做了sudo iptables -S | grep 5432
遠程服務器上的sudo iptables -S | grep 5432
並打印出來
-一個碼頭工人 -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 5432 -j 接受
所以看起來port 5432
被阻止
在容器/var/lib/postgresql/data/
,
host all all 0.0.0.0/0 md5
已添加到pg_hba.conf
,而postgresql.conf
已指定listen_addresses = '*'
。
盡管如此,它仍然無法遠程訪問,盡管我可以使用psql -h localhost -p 5432 -U postgres
在本地成功連接到實例
任何人都可以對這個問題有所了解嗎? 非常感激。
你是怎么開始使用postgres容器的?
可能你只是缺少容器到主機端口綁定選項。
嘗試將-p 5432:5432
添加到docker run命令。 這會將容器中的端口5432映射到Docker主機(遠程服務器)上的端口5432。
有關更多信息,請參閱docker網絡文檔 。 另見這個postgres示例 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.