起因
公司禪道系統最開始由研發同學部署在測試用Windows Server上,後面由於公司內部優化準備全部內部使用系統由運維組接手維護後決定統一管理遷移至Linux平臺下。
同時考慮到部署與維護方便決定使用Docker形式部署禪道並遷移資料。
Docker安裝
安裝Docker我們使用阿里映象倉庫進行安裝,具體安裝方式參考雲棲社群Docker安裝文件。
安裝完成後我們需要再次修改docker的源為國內的映象站DaoCloud然後啟動docker並設定開機自啟
# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
# systemctl start docker
# systemctl enable docker
複製程式碼
Docker-Compose安裝
docker-compose是 Docker 官方編排(Orchestration)專案之一,負責快速的部署分散式應用。這裡我們使用compose來部署容器。
- 下載docker-compose
# curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# chmod 0700 /usr/local/bin/docker-compose
複製程式碼
- 測試docker-compose可用
# docker-compose -v
docker-compose version 1.24.1, build 4667896b
複製程式碼
禪道Docker部署
禪道官方其實提供了Docker版本禪道的使用說明,不過需要自己去構建映象,我個人比較推薦直接去DockerHub上下載禪道映象使用。
部署禪道docker-compose.yml
內容如下:
version: "3.3"
services:
zentao:
image: idoop/zentao:11.5.1
container_name: zentao-server
restart: always
environment:
ADMINER_USER: "root"
ADMINER_PASSWD: "password"
BIND_ADDRESS: "false"
ports:
- 10000:80
# - 10001:3306
volumes:
- /etc/localtime:/etc/localtime:ro
- $PWD/data/zbox/:/opt/zbox/
複製程式碼
編寫並儲存後啟動容器,然後就可以使用IP:Port的方式通過瀏覽器來訪問了。
# docker-compose up -d
複製程式碼
遷移資料
由於平臺不同,遷移時我使用的方法是通過禪道自身的資料備份與恢復來實現的,新老版本需要使用同一版本遷移,遷移後可以更換Docker中映象為新版本然後選擇升級使用。
在Windows版本中備份資料後根據備份的檔案路徑找到檔案後上傳到Linux中容器對映出來的資料夾中指定路徑下,例如我上面對映出來的檔案路徑是./data/zbox
那麼上傳的待恢復檔案路徑就是./data/zbox/app/zentao/tmp/backup
下。上傳後重新整理頁面然後選擇對應的備份檔案點選還原
待還原成功後退出重新登入系統就可以看到以前的所有資料了。