LoginSignup
25
17

More than 5 years have passed since last update.

結局Docker for MacはDocker Toolboxと比べてどこが良いのか

Last updated at Posted at 2016-08-23

tl;dr

  • VirtualBox捨ててDocker用に仮想環境を提供する
  • デフォルトでその仮想環境を使って開発することを想定としたdockerコマンドを提供する

Docker for Mac以前 (Docker Toolbox)

  • ローカル上でDockerホストを動かす方法

    • Docker toolboxでDocker Machineをインストールし、VirtualBox上にdefaultというdockerホストをプロビジョニングしていた
    • 実際にその仮想環境にアクセスするためには$(docker-machine env default)というコマンドで、どの環境に対してdockerコマンドを実行するか、指定する仕組みになっていた
  • 問題点

    • VirtualBox上でinotifyがうまく動かないバグがある

      • ファイルの変更を検知してくれない
      • e.g. nodemonでアプリを動かしている時にファイルに変更があっても再起動してくれない
    • VirtualBox上だろうがどこだろうがどうせ直接触れないのでもっと抽象化して欲しい

      • どうせDockerホストはdefaultな場合が多いのにいちいち指定するのめんどくない?

Docker for Mac以後

  • ローカル上でDockerホストを動かす方法

    • DockerホストはデフォルトでMac上の仮想環境(HyperKit)にプロビジョニングされる
    • /var/tmp/docker.sockにHyperKitのdockerホストを指定する

      • dockerにenvが指定されていない場合はデフォルトで/var/tmp/docker.sockを見るようになってる
      • 結果としてdockerコマンドはHyperKitで作られた環境をデフォルトで見るようになる
  • 解決したこと

    • ファイルの変更はinotifyで検知される

      • VirtualBoxではないので
    • VirtualBoxを直接管理すること無くDocker for Macがよしなにしてくれる

    • docker-machine経由ではなくデフォルトで直接ローカルのdockerホストを操作することができる

参考

25
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
17