前書いたように最近自宅の開発環境をAWSに移行するとともに開発環境をDockerに移行した
これ自体はよくて何か問題があればコンテナを立て直せばよいし、必要なものはMItamaeでいれてDocker Imageつくるだけでwebアプリケーションとバッチで使用される
ただ1つ問題がありそれが自分のMacでローカルで開発をする時
ホストのMacのRailsディレクトリをmountしてDocker上ではrails serverを動かして開発しているのですが遅い!!
rake db:migrate
とかrails console
してもすぐにはレスポンスかえってこない…..
このMacでファイルマウントしたファイルのアクセス遅い問題は昔から存在していて下記のissueで長いことやりとりがされている
これの解決方法はいくつかあり
docker-sync
1つ目の方法ですが、マウントではなくrsyncやunisonを使用してファイルを転送しようというアプローチです
使ってみたところたしかに早くなるのですが、docker-sync用の設定ファイルが必要になり管理する対象が1つ増え個人的にはスマートではないなという感じです
mount時のcached
をつける
Docker 17.04からマウント時のconsistency
が新しく導入されマウント時に -v /hoge:/app:cached
のように指定します
ただこれはつけない時よりかは早くなるだけで、快適とはいえないです
ではどうしたのか??
Mac捨てました ※ 物理的にではないです
MacをすててUbuntuにしました
昔自宅でサーバーを運営していた時に使用していたマシンがあったのでそれを掃除したりグリスぬったりして使えるようにしてUbuntuいれました
今回はUbuntu 17.04をいれてその後にGNOMEをいれました
余談ですがUbuntu 18.04 LTSからのデフォルトデスクトップ環境はGNOMEになるらしいですね !! 記事はこちら
CPUはIntel® Core™ i5-4440 CPU @ 3.10GHz
メモリは8G
HDDで500G
モニタは家のテレビ
です
たぶん使いだすとメモリが足りないとかSSDが良いとは出てくると思いますが、それがお金の余裕が出てきてからで!!
とりあえずDockerをいれて開発をはじめてみたのですが快適!快適!
開発するのが楽しくて仕方ない