Docker Toolbox
VirtualBox 上で動かす...
- VirtualBox は同期フォルダのIOが遅いで有名
- Guest Additions めんどい
- ネットワークアダプタが不安定
- わざわざ vagrant のようなラッパーを使わざるをえないことも
- その vagrant も中々思うように動いてくれない
Docker for mac
Hypervisor.framework 上で動かす...
High CPU Utilization of Hyperkit in Mac · Issue #1759 · docker/for-mac
File access in mounted volumes extremely slow · Issue #77 · docker/for-mac
Docker for Windows
Hyper-V 上で動かす...
- Samba IO やっぱり遅い
- NAT の調子が悪くなることがあるという話
Docker は Linux Kernel の機能を利用して動く性質上、他の OS では仮想環境なしに動かすことが出来ないものとなっています。
仮想環境にありがちな CPU Time, IO, Network 周りの問題をそのまま引っ張ってくるので、使っていて「 VirtualBox + vagrant
生活より良くなった!」と思うこともあれば、そうでないことも多いです。特に「普通に動かす分には動くけど、たまにおかしくなる」という一番やっかいな奴です(npm install
などが遅いのはそれとして)。
- Docker を利用する場合
- 手動で仮想環境なり AWS なりに Linux(Ubuntu がいいでしょう) を立ち上げる
- そこにネイティブ Docker をインストール
- ファイルを同期したい場合は
rsync
を使う
がベストなんじゃないかなと。あと Docker 使いたいならホスト OS を Linux にしましょう。 Web エンジニアであればブラウザと IDE さえ動けばほとんど事足りるはずです。