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的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL ‘数据库不存在’ - Java Spring Boot、Flyway、Docker/PostgreSQL