docker员postgres pgadmin本地连接
我用nginx,php和postgres创build了一个ubuntu镜像。
我想连接我当前图像中的postgres数据库与位于本地机器上的pgadmin
。
我已经尝试使用docker督察尝试使用图像IP来与我的本地pgadmin连接,但没有太多的成功。 我也尝试过在本地configuration一些端口来连接工作。
这是一个有效的问题,不知道为什么人们觉得“似乎不可能回答这个问题”。
所以,下面是我如何做你想做的事情:
-
从Docker Hub中取出postgres镜像
docker pull postgres:latest
-
使用下面的命令运行容器
docker run -p 5432:5432 postgres
-
使用docker的inspect命令查找IP
-
使用该IP,PORT,用户名和密码连接到PGADMIN中
-
你也可以像下面这样做一个简单的telnet来确认你是否可以访问docker postgres容器:
telnet IP_ADDRESS 5432
我在windows 10上运行docker for windows 1.12.6(9655)所做的成功,步骤如下:
-
拉最新的postgres
docker拉postgres:最新
-
运行postgres容器
docker run -d -e POSTGRES_USER = user -e POSTGRES_PASSWORD = password123 –name db-my -p 5432:5432 –restart = always postgres
-
然后从pgadmin网站安装最新版本的pgAdmin4
-
运行pgAdmin 4创build新的服务器,input如下:主机:127.0.0.1端口:5432用户名:用户密码:password123
- 然后一切正常,连接到dockerpostgres实例成功。
您必须将容器中的postgres端口暴露给本地系统。 你可以这样运行你的容器:
docker run -p 5432:5432 <name/id of container>
当与您的GUI客户端或CLI连接时,即使您的IP地址是本地主机IP地址,也请确保使用不是本地主机的IP地址。
docker ps
会给你你的postgres容器的IP地址。