Mattermost(Preview Mode)でデータを永続化する方法
Mattermost(Preview Mode)はデータの永続化ができないの?
Mattermost公式サイトにあるドキュメントにはDockerを使ってMattermostをインストールする方法が記載されています(参考:Local Machine Setup using Docker)。
この方法は簡単にMattermostを導入できてとても便利です。
ただ、サイトに記載されているインストール方法には、データの永続化のことは触れられていません。
Mattermostをアップグレードする時は、既存のMattermostを削除して新しいバージョンをrun
するように記載されています(参考:Updating Docker Preview)。
ということは、これまでのチャットデータは消えてしまうということ?
それって嫌ですよね。やりとりしてきたチャットデータの中には残しておきたいデータもあるはずです。
Mattermost(Preview Mode)のデータ永続化方法
そこでデータの永続化を試してみることにしました。
データを永続化するためには、MattermostのDocker image内にある以下の2つのディレクトリの内容をホストに保持する必要があるようです。
- /mm/mattermost/mattermost-data
- /var/lib/mysql
データを永続化(ホストに保持)するためには、docker run
実行時に-v
オプションでホストOSのディレクトリをマウントするようにします。
以下のような感じです。
docker run --name mattermost-preview -d -v /hostpath/to/data:/mm/mattermost/mattermost-data -v /hostpath/to/dbdata:/var/lib/mysql ―publish 8065:8065 mattermost/mattermost-preview
-v
オプションのホストOS側のパス(/hostpath/to/dataや/hostpath/to/dbdataの部分)は使用している環境に合わせたパス(データを保存したい場所)を指定すれば良いです。
ここでホストOS側のパスは明にフルパスを指定する必要がありました。
名前
だけを指定するパターンだとうまく行きませんでした。ちなみに、名前
だけを指定すると/var/lib/docker/volume
配下に名前
のディレクトリが自動的に作成され、そこにデータが保持されるようです。
ただし、この-v
オプションでマウントする方法では、チャットデータは保持されますが、設定情報は保持されないため、Mattermost(Preview Mode)をアップグレードしたり、別マシンに移行したりする際は、あらかじめ設定情報をメモするなどして記録し、アップグレード後や移行後に新しいMattermost(Preview Mode)で設定情報を手動設定してください。
当ブログ内の関連記事もどうぞ
この記事へのコメントはこちら