大数据技术AI
Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料
124篇原创内容
公众号
1、拉取镜像
docker pull postgres
2、创建本地卷
数据卷可以在容器之间共享和重用, 默认会一直存在,即使容器被删除(docker volume inspect pgdata可查看数据卷的本地位置,验证持久数据目录)
[root@bigdata bigdata]# docker volume create pgdatapgdata[root@bigdata bigdata]# docker volume inspect pgdata[ { "CreatedAt": "2022-06-27T20:20:12+08:00", "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/pgdata/_data", "Name": "pgdata", "Options": {}, "Scope": "local" }]
3、启动容器
docker run \--name duo-postgres \--restart=always \-p 5432:5432 \-d \-e POSTGRES_PASSWORD=123456 \-e ALLOW_IP_RANGE=0.0.0.0/0 \-v /bigdata/postgres/data:/var/lib/postgresql/data \-v /bigdata/postgres/my-postgres.conf:/etc/postgresql/postgresql.conf \postgres
-
run :创建并运行一个容器
-
–name :指定容器名称
-
-e POSTGRES_PASSWORD=123456,设置环境变量,指定数据库的登录口令为123456
-
-p :指定宿主机和 Docker 容器端口映射,冒号前为宿主机端口号,另一个是容器端口号。
-
postgres:指定使用postgres作为镜像
-
- v:映射(本地目录:容器目录)
-
-e ALLOW_IP_RANGE=0.0.0.0/0:允许所有ip访问,不加非本机ip不能访问
4、修改配置
4.1 编辑postgresql.conf文件
#修改:在所有IP地址上监听,从而允许远程连接到数据库服务器:listening_address: '*'
4.2 编辑pg_hba.conf文件
#添加或修改:允许任意用户从任意机器上以密码方式访问数据库,把下行添加为第一条规则:host all all 0.0.0.0/0 md5local all postgres md5
5、进入容器,从新加载pg配置
[root@bigdata data]# docker exec -it 7b2d8a96ef4c /bin/bashroot@7b2d8a96ef4c:/# su postgrespostgres@7b2d8a96ef4c:/$ pg_ctl reloadserver signaled