備份、還原、系統轉移Docker中的Redmine和Postgresql資料庫

這篇有比較多東西要講,我已先講流程 1.說明要備份的架構 2.在已建立的Redmine系統上建立一些資訊(建立Redmine的方式在前一篇有說明) 3.備份系統 4.在全新的環境還原先前備份的系統 1.系統架構及備份說明 在Docker中建立了兩個Container分別為redmine和postgresql(下圖1) Redmine是一個專案管理系統網站服務,其中系統所上傳的"檔案"都會放在redmine的資料夾中,在建立redmine的container時我們有將其資料夾與host系統的資料夾做共用連結host volume(下圖3),所以在備份redmine的時候,直接備份host的資料夾即可。 postgresql是一個資料庫伺服器服務,而資料庫檔案是置放在container中使用container volume,置放在docker服務中(要透過指令才能備份volume),資料庫存放了redmine的設定(專案資料、權限資料、使用者清單.....等)、資料(issue、item.......等設定),但不包含檔案,所以照理來說數據量應該不會大到哪裡去,在此我們直接使用Database的GUI 管理工具進行備份和還原(比較簡單易懂) 2.在已經建立好的Redmine中做一些設定,以確保我們資料可以備份和還原的說明demo 建立了一個除了admin的使用者Ryan,並設定密碼 設定系統標題名稱 上傳一個將近5M的檔案 在此我們看一下上傳檔案前後,Redmine volume所對應的host資料夾大小 第一張是上傳前的大小85.8M,第二張是上傳將近5M檔案的大小90.8M,由使證明上傳的檔案是直接存放於redmine volume中 3.備份系統 就第一節中說的分兩個部分要備份,在redmine上傳的檔案及Redmine中的資料 (1)上傳的檔案就直接把host volume資料夾壓縮備份即可,壓縮要用7Zip或RAR或傳送到壓縮檔都可以,就是壓縮起來就對了 (2)redmine中的資料是存放在資料庫中,在上一篇有講到的一套資料庫管理工具DBerver來進行資料備份(或用postgresql原生地pgadmin4也可以) 以下說明DBerver的備...