Docker安裝PostgreSQL及還原備份


Docker安裝PostgreSQL及還原備份

安裝數據庫

#下載鏡像
docker pull postgres:9.6

##創建本地映射目錄
mkdir -p /mydata/postgresql/data
mkdir -p /mydata/postgresql14/data

#啟動
docker run --name postgres -e POSTGRES_PASSWORD=Ab@123456 -p 5432:5432 -v /mydata/postgresql/data:/var/lib/postgresql/data -d postgres:9.6
#啟動14.2版本
docker run --name postgres14 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=Ab@123456 -e POSTGRES_DB=postgres -p 54321:5432 -v /mydata/postgresql14/data:/var/lib/postgresql/data -d -it --privileged postgres:14


# 進入容器
docker exec -it postgres /bin/bash
# 進入文件夾
cd /usr/lib/postgresql/9.6/bin
# 進入postgresql,默認的postgres用戶
psql -Upostgres

數據庫備份還原

#備份,從其他服務器備份數據庫文件
pg_dump -h 172.22.24.139 -U postgres -p 5432 -F t -f /home/apiserver/postgres-data/ry-cloud20210601.tar ry-cloud
pg_dump -h 172.22.24.139 -U postgres -p 5432 -F t -f /home/apiserver/postgres-data/ry-config20210601.tar ry-config

#將數據文件放到待還原服務器的掛載目錄下
/mydata/postgresql/data/backupfile

#進入容器
docker exec -it postgres /bin/bash

#還原,首先創建空的待還原的數據庫,之后進行還原的操作,執行的目錄為容器內部的目錄
nohup pg_restore -h 192.168.80.77 -U postgres -d ry-cloud-test /var/lib/postgresql/data/backupfile/ry-cloud20210601.tar
nohup pg_restore -h 192.168.80.77 -U postgres -d ry-config-test /var/lib/postgresql/data/backupfile/ry-config20210601.tar

#查看還原信息
tail-f nohup.out 

實例

#備份數據庫
pg_dump -h deviceon-2-dev-linux.southeastasia.cloudapp.azure.com -U postgres -p 5432 -F t -f /opt/deviceon/db/deviceon220220513.tar deviceon2
pg_dump -h deviceon-2-dev-linux.southeastasia.cloudapp.azure.com -U postgres -p 5432 -F t -f /opt/deviceon/db/nacos220220513.tar nacos

#安裝啟動數據庫
docker pull postgres:14.2
mkdir -p /mydata/postgresql14/data 
docker run --name postgres14 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=Ab@123456 -e POSTGRES_DB=postgres -p 54321:5432 -v /mydata/postgresql14/data:/var/lib/postgresql/data -d -it --privileged postgres:14

#還原數據庫
將數據庫文件放到 /mydata/postgresql14/data/backupfile/下 
docker exec -it postgres14 /bin/bash
nohup pg_restore -h 192.168.80.77 -U postgres -p 54321 -d deviceon2 /var/lib/postgresql/data/backupfile/deviceon220220513.tar
nohup pg_restore -h 192.168.80.77 -U postgres -p 54321 -d deviceon2-nacos /var/lib/postgresql/data/backupfile/nacos220220513.tar


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM