docker部署PostgreSQL和pdAdmin4

本文档以13.2版本为例,具体的最新版本请自行上docker hub查询

拉取官方镜像

docker pull postgres:13.2

创建挂载数据文件夹

cd /home
mkdir postgresql
cd postgresql
mkdir data

启动数据库

docker run -d --name postgresql --restart always -v /home/postgresql/data/:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 -p 5432:5432 postgres:13.2
参数 作用
-d 启动后在后台运行,不打印日志
--name 容器名 给容器命名,方便管理,也可以不写此参数
--restart always 如果容器死掉,就自动将其拉起,也可以不写此参数
-v 宿主机路径:容器内路径 将容器内指定路径挂载出来到宿主机中,这里是把数据库本地存储的目录挂出来,保证容器销毁以后数据还在
-p 宿主机端口:容器内端口 将宿主机端口与容器内端口进行映射,postgreSQL默认的容器内端口是5432,容器外端口可以根据需要自己调整
-e POSTGRES_PASSWORD=密码 设置环境变量值。这里是设置了数据库的密码,可以自己设定

现在数据库就启动了,可以用navicat连看看

一般我们还希望部署一个pdAdmin4来对PostgreSQL进行管理

dpage/pgadmin4是pdAdmin4的官方镜像

docker pull dpage/pgadmin4:5.0
docker run -d --name pgadmin --restart always -p 5080:80 -e 'PGADMIN_DEFAULT_EMAIL=pekkle@abc.com' -e 'PGADMIN_DEFAULT_PASSWORD=你的密码' -e 'PGADMIN_CONFIG_ENHANCED_COOKIE_PROTECTION=True' -e 'PGADMIN_CONFIG_LOGIN_BANNER="Authorised users only!"' -e 'PGADMIN_CONFIG_CONSOLE_LOG_LEVEL=10' dpage/pgadmin4:5.0
参数 作用
-d 启动后在后台运行,不打印日志
--name 容器名 给容器命名,方便管理,也可以不写此参数
--restart always 如果容器死掉,就自动将其拉起,也可以不写此参数
-p 宿主机端口:容器内端口 将宿主机端口与容器内端口进行映射,postgreSQL默认的容器内端口是5432,容器外端口可以根据需要自己调整
-e 'PGADMIN_DEFAULT_EMAIL=用户名' 设置登陆用用户名,最好是email的格式
-e 'PGADMIN_DEFAULT_PASSWORD=你的密码' 设置登陆密码,自己记住

现在pdAdmin4就起来了,可以浏览器访问5080端口看页面


另外据本人实测,13.2版本的PostgreSQL用NavicatPremium12打开以后,是看不到里面的表的,需要升级到NavicatPremium15版本,才能正常使用navicat进行操作

你也可以选择直接用pdAdmin4去查看和操作

参考文档

用docker运行postgreSQL

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容