Docker容器到本地osx postgres

时间:2016-06-28 21:00:05

标签: docker boot2docker

我正在尝试从docker容器连接到本地postgres数据库(在osx中​​运行)。我正在为mac运行docker。我已经尝试使用--add-host选项,但尚未使用它。我错过了配置来建立连接吗?以下是我正在尝试的一个例子。

docker run --add-host=localbox:192.168.59.3 -it postgres /bin/bash

连接尝试次数

root@1893226613e9:/# psql -h localbox -U test_user
psql: could not connect to server: Connection timed out
    Is the server running on host "localbox" (192.168.59.3) and accepting
    TCP/IP connections on port 5432?


root@1893226613e9:/# ping localbox 
PING localbox (192.168.59.3): 56 data bytes 
^C--- localbox ping statistics --- 
7 packets transmitted, 0 packets received, 100% packet loss

1 个答案:

答案 0 :(得分:2)

好的@warmoverflow的评论引导我朝着正确的方向前进。以下是我必须要做的事情。

最初我使用了错误的ip for --add-host。我不得不使用以下内容。

docker run --add-host=localbox:192.168.99.1 -it postgres /bin/bash

我通过查找virtualbox正在使用的地址获得了192.168.99.1。

$ ifconfig
vboxnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        ether 0a:00:27:00:00:00
        inet 192.168.99.1 netmask 0xffffff00 broadcast 192.168.99.255

这有ping工作,但后来我收到了快速连接拒绝。

psql: could not connect to server: Connection refused
    Is the server running on host "192.168.99.1" and accepting
    TCP/IP connections on port 5432?

然后我必须启用postgres来接受远程连接。我通过添加下面的配置来做到这一点。

<强> /usr/local/var/postgres/postgresql.conf

listen_addresses = '*'

<强> /usr/local/var/postgres/pg_hba.conf

host    all             all             192.168.99.100/32       trust