一、部署redis數據庫
拉取鏡像?
docker pull redis
啟動Redis容器
docker run -d --name redis-server -p 6379:6379 -v redis-data:/data redis redis-server --requirepass 123
redis版本
?二、部署PostgreSQL 數據庫
拉取鏡像
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
發現idea連接不上PG數據庫
定位問題:
如何確認遠程連接權限?
需要查看容器內 PostgreSQL 的?pg_hba.conf
?配置:
1.進入運行中的 postgres 容器:
docker exec -it postgres-db bash # 假設容器名為 postgres-db
2.查看?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
,則僅允許本地連接,遠程連接會被拒絕。
3.查看結果?
解決問題?
scram-sha-256
?是較新的加密方式,部分舊驅動可能不兼容,改為更通用的?md5
?即可?
二、部署PostgreSQL數據庫
拉取鏡像
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?