1. 拉取 PostgreSQL 16 官方镜像
docker pull postgres:16
2. 创建配置文件
2.1创建/data/postgres/config/postgresql.conf
# 监听所有 IP 地址(默认是 localhost,只能本机访问)
listen_addresses = '*'
# 默认端口
port = 5432
# 数据目录不需要设置,由 Docker 启动时挂载
# data_directory = '/var/lib/postgresql/data'
# 内存配置
shared_buffers = 128MB
work_mem = 4MB
# 日志配置
logging_collector = on
log_directory = 'log'
log_filename = 'postgresql.log'
# 其他设置保持默认即可
2.2创建/data/postgres/config/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# 本地连接(Unix socket)
local all all trust
# 宿主机内部的 IPv4 环境访问
host all all 127.0.0.1/32 trust
# 宿主机内部的 IPv6 环境访问
host all all ::1/128 trust
# 允许任意远程主机访问(开发环境推荐,生产请限制 IP 范围)
host all all 0.0.0.0/0 md5
确认路径结构如下:
# 此目录为pgsql挂载目录
/data/postgres/
├── config/
│ ├── postgresql.conf
│ └── pg_hba.conf
3. 运行 PostgreSQL 容器
docker run --name postgres16 \
-e POSTGRES_PASSWORD=123456 \
-e POSTGRES_USER=admin\
-e POSTGRES_DB=testdb \
-p 5432:5432 \
-v /data/postgres/data:/var/lib/postgresql/data \
-v /data/postgres/config:/etc/postgresql \
--restart unless-stopped \
-d postgres:16 \
-c 'config_file=/etc/postgresql/postgresql.conf'
4.验证一下
# 进入容器内部使用内置的 psql
docker exec -it pgsql16 psql -U admin -d testdb
#使用本地连接工具 测试
psql -h 192.168.x.x -p 5432 -U admin -d testdb
最后编辑于 :2025.05.30 14:53:19
©著作权归作者所有,转载或内容合作请联系作者 【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。 平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。