你如何连接到在OSx上的Docker容器中运行的postgres?
我有OSX上的Docker容器中运行postgres。 起初我尝试在本地连接到它。 我启动了容器:
docker run -i -d -h localhost -p 5432:5432 --name some-postgres -t my-postgres:9.6 postgres
经过一番挖掘之后,我发现你不能通过osx上的localhost
来连接它,你需要连接到docker在内部使用的ip地址。 所以我用docker-machine
在192.168.99.100:2376
上创build了一个虚拟docker-machine
。 但是,我仍然无法连接到192.168.99.100:5432
postgres。 我错过了什么? 任何帮助将不胜感激。
如果你有Docker for Mac,那么它应该在localhost
工作: https:
下面是一个如何使用Docker for Mac启动Postgres的实例。 这和你的例子很相似。
请注意,这不是docker机,所以也许networking的工作方式不同。
docker run --rm -it \ -p 5432:5432 \ -e POSTGRES_USER=user-ms \ -e POSTGRES_PASSWORD=12345 \ postgres
我尝试从Docker主机build立连接…
本地主机工作:
psql --user user-ms -h localhost
而本地IP地址也起作用:
psql --user user-ms -h "$(ifconfig \ | grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" \ | grep -v 127.0.0.1 \ | awk '{ print $2 }' \ | cut -f2 -d: \ | head -n1)"
- Docker的`docker0`设备反复死亡(`inet addr`消失)
- 使用Docker进行开发,我应该使用ADD还是VOLUME?
- Docker设置 – 无法运行hello-world
- 如何使用/链接远程postgres数据库与Django泊坞窗实施
- 如何只允许访问postgresql中的kubernetes pod?
- Docker 1.9.1 – 错误2005(HY000):未知的MySQL服务器主机
- 为什么要将数据容器从数据库容器中分离出来比把数据容量从磁盘中分离出来要好呢?
- Docker ASP.net 5 beta4 kestrel不保持容器运行
- 在Windows上使用x11转发在Docker中运行Omnet ++。 SSH不工作