なにこれ
Mutagenの設定メモ。
Docker Desctop for MacのVolumeマウント遅い問題の1つの解決策になります。
自分の環境での改善率は以下の様になりました。
- RuboCop
- 10倍改善
- yarn test (Jest)
- 6倍改善
MacやめてLinuxに変えようかなと思ったきっかけがDockerの性能のためなのですが、Mutagenを入れたら今の所ストレスは感じなくなりました! Vagrantの中でDockerを利用するのは面倒いとか、docker-syncは期待するほどパフォーマンス改善されないとか思ってましたが、しばらく使っていこうと思います。
Mutagenのインストール
MutagenのComposeを利用したいのでベータ版をインストールする
https://mutagen.io/documentation/orchestration/compose
$ brew install mutagen-io/mutagen/mutagen-beta既存docker-compose.ymlをオーバーライドする
それぞれのプロジェクトで用意されているdocker-compose.ymlに対して設定をオーバーライドするファイルdocker-compose.override.ymlを用意します。
以下の様に元のdocker-compose.ymlに対して設定を追記することができます。
services:
backend:
volumes:
- backendcode:/app
volumes:
backendcode:
x-mutagen:
sync:
defaults:
ignore:
vcs: true
backendcode:
alpha: "."
beta: "volume://backendcode"
mode: "two-way-resolved"
ignore:
paths:
- "/log"Gitにcommitしないようにする
docker-compose.override.ymlをプロジェクトにコミットしたくない場合、.gitignoreへ追記したいと思いますが、.gitignoreにも追記したくない場合もありますよね。
その場合、.git/info/excludeにGit管理したくないファイル名を追記します。
Mutagenを利用してコンテナを立ち上げる
docker-composeコマンドとほとんど同じように利用できます。
$ mutagen compose upコンテナ立ち上げたあとは普通にdocker-composeコマンドを利用できます。