>>740
開発環境を押し付けるな。プログラマの自由にやらせろ。「統一環境」ではなく
「推奨環境」として環境づくりが面倒な人のために、例の一つとして作るだけにしろ
統一はしないという前提で「統一しなくても信頼できる」
ことを保証するためにDockerを使うんだよ

統一しないっていうことはわかりやすく言えば、開発環境は
WindowsでもLinuxでもmacOSでも使っていいということ
使うIDEやテキストエディタやブラウザなどはそれぞれ違うだろう
しかし何を使って作っても、同じように動くと保証するにはどうするか?

それが必要なのは"差分"ビルドやデバッグ環境を統一することではない。
"完成版"ビルドと完全なテスト用のDockerイメージを作成することだ。
テスト用のDockerイメージを使ってCIで実行すれば
どういう開発環境を使って開発していたとしても正しく動くことが保証される。

もちろんこのテストというのは全体のテストだ。
自分が開発した部分のテストだけをやりたいのに全体のテストをしていては時間がかかる。
こういうのは自分の開発したマシンでやることだ。つまりそれぞれ違う開発環境でやることだ。

開発には何よりスピードが重要だ。いちいちDocker(ついでにいうと仮想マシンも)を
絡ませなければ開発できないなんて愚の骨頂だ。
環境特有のバグはゼロではないから、統一した環境(つまりDocker)でテストすることは重要だが
大抵の問題は開発者が書いたコードにバグがある。特定の環境でしか発生しない問題は少ない。

どうしてもDockerや仮想マシンが必要な場合でない限り、Dockerや仮想マシンを使わない。
それが開発環境のあるべき姿だ。Dockerや仮想マシンを使わずに高速に開発テストし
場合によってはローカルでDockerを使って統一"実行"環境でテストも出来るようにする。
そして最終的には共通のCIサーバーでテストを実行する。本番用Dockerイメージを使って実行する。
これが今の理想の開発スタイルだ。
もう一度言うがDocker(や仮想マシン)で開発環境を統一するな。そういう時代は終わった。