docker pull redis
docker run -d --name redis-server -p 6379:6379 -v redis-data:/data redis redis-server --requirepass 123


docker pull postgres:15
创建数据存储目录、建议将数据挂载到宿主机:
mkdir -p /path/to/postgres/data
docker run --name postgres-db -e POSTGRES_PASSWORD=123 -e POSTGRES_USER=root -p 5432:5432 -v /path/to/postgres/data:/var/lib/postgresql/data -d postgres:15

定位问题:
需要查看容器内 PostgreSQL 的 pg_hba.conf 配置:
docker exec -it postgres-db bash # 假设容器名为 postgres-db
pg_hba.conf(路径可能因镜像不同略有差异,通常在 /var/lib/postgresql/data/ 下):cat /var/lib/postgresql/data/pg_hba.conf
检查是否有允许远程连接的规则:
host all all 0.0.0.0/0 md5 的配置,表示允许所有 IP 用密码(md5)连接所有数据库,此时 root 可以远程连接。
host all all 127.0.0.1/32 md5,则仅允许本地连接,远程连接会被拒绝。

scram-sha-256 是较新的加密方式,部分旧驱动可能不兼容,改为更通用的 md5 即可
docker pull postgres:15
创建数据存储目录、建议将数据挂载到宿主机:
mkdir -p /path/to/postgres/data
docker run -id --name=postgresql -v postgre-data:/var/lib/postgresql/data -p 5432:5432 -e POSTGRES_PASSWORD=123 -e LANG=C.UTF-8 postgres