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 测试连接

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...