Linux Docker Postgresql

Posted 苏州城外的微笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Docker Postgresql相关的知识,希望对你有一定的参考价值。

1.拉取 postgres 镜像

docker pull postgres

2.查看镜像

docker images

3.创建数据库容器并查看

docker run -p 5432:5432 -it --name postgres --restart always -e POSTGRES_PASSWORD=\'password\' -e ALLOW_IP_RANGE=0.0.0.0/0 -v /home/postgres/data:/var/lib/postgresql -d postgres
docker ps

4.进入容器,切换用户,登录查看

docker exec -it postgres bash
su postgres
psql -U postgres -W

5.设置远程访问许可(重要)

1)拷贝 pg_hba.conf 文件,打开 /home 下的 pg_hba.conf,添加 host all all 0.0.0.0/0 md5,将修改后的文件替换回去

sudo docker cp postgres:/var/lib/postgresql/data/pg_hba.conf /home
host all all 0.0.0.0/0 md5
sudo docker cp /home/pg_hba.conf postgres:/var/lib/postgresql/data

2)拷贝 postgresql.conf 文件,打开 /home 下的 postgresql.conf,定位 listen_addresses,将 listen_addresses = \'localhost\',修改为 listen_addresses = \'*\',将修改后的文件替换回去

sudo docker cp postgres:/var/lib/postgresql/data/postgresql.conf /home
listen_addresses = \'*\' sudo docker cp
/home/postgresql.conf postgres:/var/lib/postgresql/data

6.设置防火墙

systemctl status firewalld

7.若未启动,则执行以下命令

启动
systemctl start firewalld
检查状态
firewall-cmd --state
防火墙正常则执行以下命令
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
重启
systemctl stop firewalld.service
systemctl start firewalld.service

8.使用 Navicat for PostgreSQL 测试连接

以上是关于Linux Docker Postgresql的主要内容,如果未能解决你的问题,请参考以下文章

Linux 环境手动备份postgresql数据库数据

云原生之使用docker部署Postgresql数据库

云原生之使用docker部署Postgresql数据库

Docker 搭建代码质量检测平台 SonarQube

Docker启动PostgreSQL时创建多个数据库

PostgreSQL ‘数据库不存在’ - Java Spring Boot、Flyway、Docker/PostgreSQL