1 2 3 |
pgAdmin 是一个强大的 postgresql 的图形化管理工具,既可以本地运行也可以以 web 应用的方式运行。 因为 postgresql 是安装在虚拟机上的,所以我需要让 pgAdmin 以 web 应用的方式运行。 但是文档里只有 Apache 相关的配置, 看起来很复杂,所以在网上搜了简化的安装方法并稍微改了下。 |
这个看文档即可。
1 |
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_EMAIL
和 PGADMIN_SETUP_PASSWORD
分别为 pgAdmin 登陆的账号密码。
-V /home/robert/data:/data
表示宿主机目录和容器目录对应的映射关系,宿主机目录可以自己设置。运行时可能会因为目录权限报错,需要修改目录权限(本地开发直接改成 777 )。
1 2 3 4 5 |
server { listen 80; server_name YOUR_SERVER_NAME; return 301 https://localhost:5050; } |
主要是将请求反向代理到 docker 容器内。
默认是 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 了。
进入 pgAdmin 后需要设置 postgresql 所在主机的 ip,也就是虚拟机的 ip:
执行ifconfig
取 docker0 的 ip 地址即可。
from:https://blog.csdn.net/sun_cainiao/article/details/79475453