【发布时间】:2017-02-20 23:32:32
【问题描述】:
我有一个 Vagrant 盒子,里面有一个运行 PostgreSQL 的 Docker 容器。容器是官方找到的here
我希望能够使用 psql 从主机(即 Vagrant 之外)连接到 Postgres,但无法使其工作。 (得到一个“无法连接”的错误)。我在我的 Vagrantfile 中添加了一个端口转发:
config.vm.network "forwarded_port", guest: 5432, host: 5432
但我猜这还不够,因为 Docker 容器有自己的 IP (172.17.0.2)?我的想法是我会在盒子上放置一个 iptable 规则,将所有请求转发到端口 5432 上的 Vagrant 盒子到目的地 172.17.0.2:5432,如下所示:
iptables -t nat -A PREROUTING -p tcp --dport 5432 -j DNAT --to-destination 172.17.0.2:5432
iptables -t nat -A POSTROUTING -j MASQUERADE
但我仍然无法让它工作。感谢您的帮助!
【问题讨论】:
标签: postgresql docker vagrant iptables