Postgres14.4(Docker安装)

Postgres14.4(Docker安装)

一,Docker拉取镜像

docker pull postgres:14.4
#检查镜像是否拉取成功
docker images | grep postgres

image-20220711174034173

二,新建挂载目录,并运行容器

mkdir -p /data/postgre/data
chmod 777 /data/postgre/data
docker run --name postgres \
    -e POSTGRES_PASSWORD=cquissE! \
    -p 5432:5432 \
    -v /data/postgre/data:/var/lib/postgresql/data \
    -d postgres:14.4

-e POSTGRES_PASSWORD=cquissE!: 设置环境变量,指定数据库的登录口令为cquissE!,登录用户为管理员用户postgres;
-p 5432:5432: 端口映射将容器的5432端口映射到外部机器的5432端口;
-v /data/postgre/data:/var/lib/postgresql/data 将运行镜像的/var/lib/postgresql/data目录挂载到宿主机/data/postgre/data目录

#查看是否有该镜像
docker ps | grep postgres

image-20220711180002640

三,设置Postgres远程连接

#第一种方法
#进入postgre容器
docker exec -u root -t postgres bash
#进入配置文件目录
cd /var/lib/postgresql/data
vi pg_hba.conf

此处会提示该容器中没有vi这个功能

#更新源
apt-get update
#下载vim
apt-get install vim

安装好后再次编辑配置文件

vi /var/lib/postgresql/data/pg_hba.conf.conf
#第二种方法
cd /data/postgre/data
vi pg_hba.conf

在文件底部添加host all all 0.0.0.0/0 md5,如下图所示

#重启postgres服务
docker restart postgres

四,测试连接

#进入容器
docker exec -u root -it postgres bash

image-20220712090600866

#切换postgres用户
su - postgres
#创建新pg用户
createuser <username>
#创建数据库
createdb <dbName>
#进入pgsql环境
psql

image-20220712090919360

给用户添加密码和赋予权限:

alter user <username> with encrypted password '<pwd>';
grant all privileges on database <dbname> to <username>;

用刚才建立的用户密码连接数据库

image-20220712091913674

posted @   山有扶苏QWQ  阅读(1628)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示