質問者さんと同じように悩んだことがあります。
現在のところ、host側で開発、container側でアプリの実行が、よいと考えています。
ひとことでいうなら、「実行環境をcleanに保つ」ことが出来るからです。
実例をあげると、以下の通りです。
- 個人設定の衝突回避
vimでも様々な設定やpluginがあるが、個人の好みがあり、チーム内で統一するのはむつかしい。
また、git push に必要な個人の認証情報(.ssh関係)などをcontainerにいれるは、セキュリティ上、避けるべき。
- 気軽に実行環境の再構築ができる
開発環境をsetupするため、開発のためのtry & error理由で、余計なリソースをinstallすると、pkgやruby gemのバージョンが変更されたりするため、思わぬトラブルが発生するリスクがある。
containerは、実行環境のみと割り切ればいつでも捨ててやりなおせるため、結果としてローンチ作業も安定する。
- アプリの実行のみcontainerを利用するのは実は面倒なことではない
通常の開発でも、たいていtmuxやwindowで、edit用とアプリの実行制御用で、2個以上のterminalを利用している。
containerを利用する場合、アプリの実行制御用のterminalがcontainerになるだけ。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。