自宅開発環境をUbuntuにしました

hatappi.hateblo.jp

前書いたように最近自宅の開発環境をAWSに移行するとともに開発環境をDockerに移行した
これ自体はよくて何か問題があればコンテナを立て直せばよいし、必要なものはMItamaeでいれてDocker Imageつくるだけでwebアプリケーションとバッチで使用される

ただ1つ問題がありそれが自分のMacでローカルで開発をする時

ホストのMacRailsディレクトリをmountしてDocker上ではrails serverを動かして開発しているのですが遅い!!
rake db:migrateとかrails consoleしてもすぐにはレスポンスかえってこない…..

このMacでファイルマウントしたファイルのアクセス遅い問題は昔から存在していて下記のissueで長いことやりとりがされている

github.com

これの解決方法はいくつかあり

docker-sync

docker-sync by EugenMayer

1つ目の方法ですが、マウントではなくrsyncやunisonを使用してファイルを転送しようというアプローチです
使ってみたところたしかに早くなるのですが、docker-sync用の設定ファイルが必要になり管理する対象が1つ増え個人的にはスマートではないなという感じです

mount時のcachedをつける

docs.docker.com

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をいれて開発をはじめてみたのですが快適!快適!
開発するのが楽しくて仕方ない