發表文章

目前顯示的是 8月, 2019的文章

Synology NAS上手動方式在Docker上建立Redmine,並使用Postgrsql資料庫

圖片
初次使用Synology NAS真的讓我有點驚豔,裡面包含了蠻多服務,另外也支援Docker,超威。內建的套件服務也很屌,自動幫你建置服務系統。一開始安裝Redmine他是包含了資料庫都透過介面化的UI設定,真的很方便。But......資料庫他選用了mariaDB,可是我想要用的是Postgrsql,透過網路查找到一個參考資料一樣是在NAS上面使用Postgresql,但是因為落差蠻大,所以還是做一篇記錄。 PS.Synology NAS上面的Docker管理UI真好用.....讓本篇可以無腦上手 系統原本的套件中心就可以直接選擇Redmine,搭配的是MariaDB,若要用資料庫管理更可以直接安裝phpmyadmin真的很方便(但是目前要選用postgrsql,所以把服務停掉) PS.沒有說mariaDB比較不好,是因為之前已經把Postgrsql的備份方式和架設方式搞清楚,所以就先降 啟動Docker,並進入左方倉庫伺服器(平易近人的介面ㄚㄚㄚㄚ),直接搜尋之前的Docker來源sameexxxx,他會顯示官網上的名稱(運氣真好真的可以支援耶~~開心),點選右鍵就可以下載映像檔(image) 下載完image後,可以直接選擇布置,來建立容器(container) PS.先建資料庫(postgresql)再建系統(redmine) 建立容器的步驟如下,點選後可以選擇進階設定(因為我們必須要先定義資料庫名稱、登入的帳號密碼等參數) 以下為Postgresql的設定畫面 名稱和設定啟用自動重啟(也就是docker-compoe中設定的always) PS.NAS中是否可以使用docker-compoe目前還沒研究出來 再來是Volume也就是與容器中的共用資料夾,此處一樣不能使用host volume,否則會出錯(下下圖) 有建立host volume的狀況 port對應的部分要設定,因為可以用外部資料庫管理程式(DBerver)去登入管理,因為目前這一台NAS的5432 port被佔用了,所以先設定54321。(還不會在NAS中查那些程式佔用了哪些port) 因為是資料庫,所以不需要和其他容器連結(這就是為什麼要先建立資料庫的容器) 在這裡要加入三個參數,如下圖。完成後點

備份、還原、系統轉移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的備

如何30分鐘內使用docker架設redmine(DB using postgresql)

圖片
本篇說明如何快速建置redmine於decker環境中,使用 docker 的環境架設系統的目的是在於不影響其主系統,也利於後續維護和系統轉移 ( 當然也是因為要系統轉移所以遇到了不少 docker 的坑 ) 。 本篇大多使用工具和UI取代 docker 的command,以減少進入的門檻。但是還是先說一下,系統架設很簡單,後續的維護和備份還原又是另外一門學問,所以要真正營運的系統還是要交給專業的人員來做系統管理。 那就直接開始吧 ~~~ 環境: Win10 pro 事前準備: Docker 環境架設: 安裝 Docker DeskTop VS code ( 編輯 yml 檔及 docker 操作 ) Vs code 套件 Docker( 官方網址 ,非安裝方式 ) 資料庫管理 DBerver ( 本篇不會介紹 ) Docker 環境安裝 pass ,請自行google。注意事項,在 Windows 使用 Docker 時是使用微軟 Hyper-v 的虛擬機器的技術必須要 Win10 專業版以上才有支援此功能。另外因為是虛擬機器的功能,所以BISO的虛擬服務需要啟用,還有其他的VM不可同時使用。 ( 可以用 cmd 去啟停 Hyper-v 的服務,執行完命令後必須要重開機 ) 啟用 bcdedit /set hypervisorlaunchtype auto 停用 bcdedit /set hypervisorlaunchtype off <<啟用Hyper-V .bat>><<停用Hyper-V.bat>> 再來是使用 VS code 來操作 docker ,替代 docker command 。(雖然狂敲command很帥,但是本篇強調快速簡單) Vs code 安裝 請自行google 主要介紹 Docker for vs code 套件 開啟 vs code ,到市集查詢 docker ,找一個微軟開發的 安裝完成後會看到左方工具列會出現小鯨魚 (Docker 符號 ) 簡易說明一下使用方式 點選Docker icon