Postgres14.4(Docker安裝) 一,Docker拉取鏡像 docker pull postgres:14.4 #檢查鏡像是否拉取成功 docker images | grep postgres 二,新建掛載目錄,並運行容器 mkdir -p /data/postgre/data doc ...
Postgres14.4(Docker安裝)
一,Docker拉取鏡像
docker pull postgres:14.4
#檢查鏡像是否拉取成功
docker images | grep postgres
二,新建掛載目錄,並運行容器
mkdir -p /data/postgre/data
docker run --name postgres \
-e POSTGRES_PASSWORD=cquissE! \
-p 5432:5432 \
-v /data/postgre/data:/var/lib/postgresql/data \
-d postgres:14.4
-e POSTGRES_PASSWORD=cquissE!: 設置環境變數,指定資料庫的登錄口令為cquissE!,登錄用戶為管理員用戶postgres;
-p 5432:5432: 埠映射將容器的5432埠映射到外部機器的5432埠;
-v /data/postgre/data:/var/lib/postgresql/data 將運行鏡像的/var/lib/postgresql/data目錄掛載到宿主機/data/postgre/data目錄
#查看是否有該鏡像
docker ps | grep postgres
三,設置Postgres遠程連接
#進入postgre容器
docker exec -u root -t postgres bsah
#進入配置文件目錄
cd /var/lib/postgresql/data
vi pg_hba.conf.conf
此處會提示該容器中沒有vi這個功能
#更新源
apt-get update
#下載vim
apt-get install vim
安裝好後再次編輯配置文件
vi /var/lib/postgresql/data/pg_hba.conf.conf
在文件底部添加host all all 0.0.0.0/0 md5,如下圖所示
#重啟postgres服務
docker restart postgres
四,測試連接
#進入容器
docker exec -u root -it postgres bash
#切換postgres用戶
su - postgres
#創建新pg用戶
createuser <username>
#創建資料庫
createdb <dbName>
#進入pgsql環境
psql
給用戶添加密碼和賦予許可權:
alter user <username> with encrypted password '<pwd>';
grant all privileges on database <dbname> to <username>;
用剛纔建立的用戶密碼連接資料庫