いちりんのアウトプットブログ

インフラエンジニアです。まだまだ勉強中の身。わからないこと、気になる事を随時調べてアウトプットします。

Docker for Mac と Docker ToolBoxの違いって?

時間がないので超雑に調べる

Docker ToolBox

仮想VMでDocker用のホストを立ち上げ、Docker環境を簡単に利用できるようにしたツール。

  • 実際に入るもの
    • VirtalBox(アプリケーション -> Dockerフォルダではなく、VirtualBoxとして入ります) -Dockerホストを仮想環境で動かすため
    • docker-machine
      • Mac上からDocker用ホストを管理するためのコマンドラインツール
      • コマンドを使ってVirtualBox VM である default ホストをプロビジョニングできる
      • Docker用ホストの起動/停止/作成やssh、scpでのアクセスができるようになります
    • docker
      • 基本のdocker用コマンドラインツール
      • 本来はDocker用ホスト内で利用しますが、Macのターミナルから直接操作できるようになっています
    • docker-compose
      • アプリケーションを複数のDockerコンテナを使って構成したい場合に便利なツール
    • Dockerを操作するために必要なシェルもろもろ

実際homebrewでインストールしてみたらdocker,docker-machineのコマンドが普通に叩けた

Docker for Mac

  • Dockerホストの軌道にVirtualBoxではなく、HyperKitというMacネイティブの仮想化環境を利用している。
    • /Applicationsにインストールされる。
  • Docker社が公開したオープンソースの軽量な仮想化ツール「Hyperkit」で動く(VirtualBoxは使わない)
  • Docker for Mac アプリケーションは、 docker-machine は使わず直接VMを作成し、管理する
  • インストール時に /usr/local/bin に dockerとdocker-composeにシンボリックリンクが貼られる

結局どうなの

要するに、Docker toolboxはVMを利用していて、 Docker for Mac は仮想化ツールで動いている? 若干わかったような気はする。