更新Docker容器
使用 Docker 安裝了 Redmine 之后,已經過了很久了,這幾天在維護服務器時,發現 Redmine 的版本也升級了。
就想着也升級一下容器吧。
先說下大體思路:
- 升級 Docker Image
- 關閉就容器,並刪除之
- 重新開啟新的容器,這樣才能使用新的代碼
- 升級數據庫
升級 Docker Image
升級Image很簡單,只要從服務器拉下來最新的數據就行了
docker pull quay.io/sameersbn/redmine:latest
關閉就容器,並刪除之
到工作目錄 /data, 使用 docker-compose 來關閉級容器
cd /data
docker-compose stop
docker rm data_redmine_1
重新開啟新的容器,這樣才能使用新的代碼
因為代碼升級,新增加了些環境參數的配置
REDMINE_SECRET_TOKEN
DB_NAME
這兩個一個是log提示我的,另一個發現服務升級完后,舊用戶登錄不了了,查了原因才知道是因為數據庫名稱的默認值變了。
可能受影響的還有其他不少參數,需要在詳情頁仔細看看。
docker-compose start
升級數據庫
docker exec -it data_redmine_1 bash
cd $WORKDIR
RAILS_ENV=production bundle exec rake db:migrate