koni blog

東京のウェブエンジニア koni です!ウェブサービスをガシガシ作っていきます!

これからは Docker Toolbox よりも Docker for Mac を使おう

2016年8月に正式リリースされた Docker for Mac/Windows。

勉強もかねて、Docker for Mac とそれまでの Docker Toolbox との違いをまとめました。

まとめ

Docker「これからはコンテナより下の部分についてはDocker for Mac/windows を使ってね!そのほうが高速だし、楽ちんだよ」

(ということだと思う)

Docker for Mac

  • Mac のネイティブアプリケーションであり、 /Applicationsにインストールされる
  • インストール時に /usr/local/bindockerdocker-composeにシンボリックリンクが貼られる。実体はネイティブアプリケーション内にある(/Applications/Docker.app/Contents/Resources/bin)
  • Docker for Mac は Docker社が公開したオープンソースの軽量な仮想化ツール「Hyperkit」で動く(VirtualBoxは使わない!)
    • Hyperkitは、macOS 10.10 Yosemite から実装されている仮想化フレームワーク「Hypervisor Framework」を利用しているので、macOS 10.10 以上でしか使えない 「Hyperkit」である VirtualBoxを使わず、
  • Docker for Macをインストールしても、Docker Machine で作成されたマシンには影響を与えない。
  • Docker for Mac アプリケーションは、 docker-machine は使わず、直接VMを作成し、管理する
  • Docker for Mac のインストール時に Docker Engine が動いている Alphine Linux ベースの Hyperkit VM がプロビジョンされ、ソケット /var/run/docker.sock と通信できるようになる。それ以降、docker コマンドや docker-compose コマンドで環境の指定をしない限り、デフォルトで呼ばれることになる。
  • Docker for Mac をインストールすると、唯一の VM を手に入れたことになり、管理する必要はなくなる。Docker for Mac アプリケーションが Docker のサーバー、クライアントバージョンを自動でアップデートする。

Docker Toolbox

  • Docker Toolbox をインストールすると、 docker, docker-compose, docker-machine/usr/local/bin にインストールされ、VirtualBoxもインストールされる。
  • docker-machine コマンドを使って、VirtualBox VM である default ホストをプロビジョニングしていた
    • この VM では、boot2docker という Linux Distribution で Docker Engine が動く。

参考