Skip to content

Latest commit

 

History

History
79 lines (52 loc) · 3.67 KB

versionup.md

File metadata and controls

79 lines (52 loc) · 3.67 KB

Bad Todoのバージョンアップ方法

Bad Todoのバージョンアップは以下の手順で行います。

  • バックアップの取得
  • 既存のコンテナやイメージを削除
  • 新バージョンを取得
  • 新バージョンでコンテナ起動

バックアップの取得

Bad Todoには重要な情報を保存することは推奨されませんが、実習の過程でソースコード等を編集していて、その内容を保存したい場合は、あらかじめバックアップを取得することをお勧めします。

既存のコンテナやイメージを削除

まず、既存のDockerコンテナとイメージを削除します(削除しない方法もありますが、削除した方が間違う要素が少ないと思います)。 すべてのコンテナ・イメージ・ボリューム等を削除するには以下のコマンドが簡単です。

$ cd badtodo  # Bad Todoのインストールフォルダに移動
$ docker compose down --rmi all

この方法だと、データベース(MySQL)のデータは保存されます。 データベースの内容も含めて新規にやり直したい場合は、以下のコマンドによりボリュームごと削除してください。

$ cd badtodo  # Bad Todoのインストールフォルダに移動
$ docker compose down --rmi all --volumes

もしもBad Todoのフォルダを消してしまったがコンテナとイメージは残っている場合は、任意のフォルダで以下を実行してください。-p badtodo はプロジェクト名を示しており、デフォルトはbadtodoですが、変更している場合は適宜-pの指定を変更してください。また、オプション--volumesを指定した場合はMySQLのデータも削除されます。

$ docker compose -p badtodo down --rmi all --volumes

もしもBad Todoのフォルダとコンテナは消したが、イメージは残っている場合は、任意のフォルダで以下を実行してください。

$ docker rmi badtodo-apache:latest
$ docker rmi badtodo-db:latest
$ docker rmi badtodo-mail:latest
$ docker rmi badtodo-nginx:latest
$ docker volume rm badtodo-mysql       # 任意: データベースを初期化したい場合のみ

新バージョンを取得

元々git cloneによりインストールした場合は、以下のコマンドで新バージョンを取得できます。

$ git pull

この際、既にBad Todoにローカルで修正などをしていた場合は、git pull時にコンフリクトのエラーになります。この場合、以下で強制的にプルする(リモートの内容をローカルに上書きする)方法があります。

$ git fetch origin main
$ git reset --hard origin/main

これらの方法だと、Bad Todoで登録したTodoや添付ファイル、アイコン等は保存されます。一方、ソースコードの修正などは、新バージョンで上書きされます。

もしもよく分からない場合は、既存のbadtodoフォルダを削除するかフォルダ名を変更して、新規にgit cloneしてください(インストール方法)を参照)。

ZIPファイルをダウンロードした場合は、badtodoフォルダをすべて削除するかフォルダ名を変更した後に、新しいバージョンのZIPファイルを展開(解凍)してください。

新バージョンでコンテナのビルドと起動

新バージョンでコンテナをビルドして起動するには、以下のコマンドを実行してください。

$ docker compose up -d

以上でバージョンアップは終わりです。