借助 docker 安装 pgAdmin

pgAdmin 是一个强大的 postgresql 的图形化管理工具,既可以本地运行也可以以 web 应用的方式运行。
因为 postgresql 是安装在虚拟机上的,所以我需要让 pgAdmin 以 web 应用的方式运行。
但是文档里只有 Apache 相关的配置, 看起来很复杂,所以在网上搜了简化的安装方法并稍微改了下。
安装 docker 和 nginx

这个看文档即可。

引入现成的 pgadmin 的 docker镜像
docker pull chorss/docker-pgadmin4

运行该镜像:

docker run -e SERVER_MODE=true -e PGADMIN_SETUP_EMAIL=berrydigital@gmail.com \
-e PGADMIN_SETUP_PASSWORD=password -d -p 5050:5050 \
-v /home/robert/data:/data chorss/docker-pgadmin4

-e 表示传入容器的环境变量,PGADMIN_SETUP_EMAILPGADMIN_SETUP_PASSWORD 分别为 pgAdmin 登陆的账号密码。
-V /home/robert/data:/data 表示宿主机目录和容器目录对应的映射关系,宿主机目录可以自己设置。运行时可能会因为目录权限报错,需要修改目录权限(本地开发直接改成 777 )。

nginx 配置
server {
  listen  80;
  server_name YOUR_SERVER_NAME;
  return 301 https://localhost:5050;
}

主要是将请求反向代理到 docker 容器内。

postgresql 配置

默认是 5432 端口,只有本机可以访问,需要修改访问权限:把 postgresql.conf 中的 listen_addresses 的值 设置为 *,表示所有 ip 会被响应。
还需要修改 pg_hba.conf,用于设置连接的许可,添加:
host all all 0.0.0.0/0 md5
表示所有用户及 ip 都可以建立连接,密码加密方式为 md5.

重启 postgresql:sudo service postgresql restart

此时可以通过 YOUR_SERVER_NAME 登陆 pgAdmin 了。

虚拟机ip

进入 pgAdmin 后需要设置 postgresql 所在主机的 ip,也就是虚拟机的 ip:
执行ifconfig取 docker0 的 ip 地址即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值