LoginSignup
5
5

More than 5 years have passed since last update.

OSXでDocker Toolbox(1.11)からDocker for Mac(1.12)に移行する方法

Last updated at Posted at 2016-09-19

今までOSXで使っていたDocker 1.11 (Doker Toolbox)を、
Docker 1.12 (Docker for Mac)に切り替えたので方法を残しておこうと思います。

実施手順

私が行ったことは以下の通りです。

  1. Docker公式からDocker for Macのインストール用dmgをDLしてDocker.appをインストール
  2. Docker.appを起動すると、Toolboxの既存のDocker Hostからコンテナやイメージを移行するかを聞かれるので、移行する方を選択する
  3. 以下のスクリプトでToolboxを削除
    https://github.com/docker/toolbox/blob/master/osx/uninstall.sh
    注意 Docker Machineを使っていて残したいものがある場合は "No"を選択すること
  4. /usr/local/bin/ 内の docker関連コマンドが消えてしまったので、 Docker.appを再起動したら復活
  5. Toolboxでのdocker関連コマンドが /usr/local/bin/docker.backup という感じにリネームされて残っていたので削除
  6. ~/.docker を削除

Docker for Macは、既存のDocker ToolboxのDockerイメージなどを移行してくれるので、気兼ねなくインストールすることができます。
上記の手順で、Step.2 の時点でDocker for MacとToolboxを共存させた状態になり、併用したいのであればこのまま利用してよいようです。
これ以降でのdockerの利用は、今までやっていた eval $(docker-machine env) が不要になり、Dockerコンテナへのアクセスがlocalhostに変わります。

残りの Step.3 以降は Docker Toolbox を削除するための手順です。
uninstall.shは、Docker公式のスクリプトのようです。
このファイルを手元にDLして実行すると関連ファイルが削除されます。
中身は簡単なので実行前に見ておくといいと思います。

ただ、このスクリプトで削除される /usr/local/bin/docker コマンドなどは Docker for Mac と同じ場所だったようで、dockerコマンドなどが使えなくなってしまいました。
どうしようかと思ったものの、Docker.appを一度停止して再度起動したらコマンドが復活しました。
実際には、 /usr/local/bin/docker はシンボリックリンクになっていて、起動時に存在しなかったら再作成してくれるようです。

最後に、Docker.app はどうやら既存のdockerコマンドなどを、docker.backup という名前でリネームして残しておくようになっていたようなので、手動でこれらのファイルを削除しました。
また、~/.dockerフォルダも残っていたので、これを消して完全に綺麗になったと思います。

まとめ

この手順は、あくまで私が試行錯誤をやってみた手順なので、ちゃんと整理すれば簡単になると思います。

実際には試していませんが、おそらく以下が一番シンプルな流れだろうと思います。

  1. uninstall.sh を実行
    このとき、最初に "Remove all Docker Machine VMs?" と言われるので、"No"を選択
    注意 ここで、Docker Machineを削除すると、あとで移行ができなくなると思います
  2. Docker for Macをインストールし、既存イメージなどを移行
  3. docker-machine rm -f default でDocker Machineの環境を削除
  4. default環境だけを使っていたのであれば ~/.docker を削除
    もし、他にも環境を使っている場合は残しておく必要があると思います
5
5
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
5
5