Posted at

Mac に homebrew で docker 入れたい 2017年末版

More than 1 year has passed since last update.

今日は2017年11月21日。

macOS に docker 開発環境を構築するには Docker for Mac アプリをインストールすればいいのです。

Virtual Box も必要なくなり全体の構成も随分すっきりしましたね。もう記事にするほどのこともなくなってしまった。

ところが homebrew を積極的に使いたい方は、却って悩んでいるかも。

この数年いろんなインストール手順がQiitaに書かれてきたけど、今は何が正解なのか、と。

ならばここにまとめましょう。

一応環境を : macOS High Sierra 10.13.1


homebrew 使いのための docker 環境構築手順 2017年末版

結論先に。

$ brew cask install docker

$ open /Applications/Docker.app

これで、Docker Community Edition がインストールされ、 docker docker-machine docker-compose コマンドが実行できるようになります。

$ docker --version

Docker version 17.09.0-ce, build afdb6d4

$ docker-machine version
docker-machine version 0.12.2, build 9371605

$ docker-compose version
docker-compose version 1.16.1, build 6d1ac21
docker-py version: 2.5.1
CPython version: 2.7.12
OpenSSL version: OpenSSL 1.0.2j 26 Sep 2016

動いた動いた。

bash-completion 使いたいなら追加で次のコマンドを実行しましょう。必要なファイルは Docker.app アプリに同梱されています。

bash-completion 入れていなければ、まず入れます。

$ brew install bash-completion

$ echo ' [ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion' >> ~/.bash_profile

その次にシンボリックリンクを作成すれば完成。

$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion /usr/local/etc/bash_completion.d/docker

$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion /usr/local/etc/bash_completion.d/docker-machine
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion /usr/local/etc/bash_completion.d/docker-compose

では Docker をお楽しみください。

ここから先は https://docs.docker.com/docker-for-mac/ を参考に進むのが良いでしょう。日本語ドキュメントは無い?よね。


何が困りごとかというと

homebrew で検索した時に、選択肢がいろいろ出てくるのがよくない。

$ brew search docker

==> Searching local taps...
boot2docker docker-compose-completion docker-machine-nfs
boot2docker-completion docker-credential-helper docker-machine-parallels
docker docker-gen docker-swarm
docker-clean docker-machine docker2aci
docker-cloud docker-machine-completion docker@1.11
docker-completion docker-machine-driver-vultr docker@1.71
docker-compose docker-machine-driver-xhyve
==> Searching taps on GitHub...
caskroom/cask/docker caskroom/cask/docker-toolbox caskroom/versions/docker-edge
==> Searching blacklisted, migrated and deleted formulae...

最低限、どれとどれとどれを入れればいいんですかね?

正解は、 caskroom/cask/docker 一つ入れればいいのです。それ以外は勝手知ったる先人のためのものでしょう。


  • homebrew を検索して見つかる boot2docker docker docker-machine docker-compose と homebrew cask の docker-toolbox は入れる必要なし。というか入れたら困ったことが起きるはず。試してませんが。

  • homebrew の docker-completion docker-machine-completion docker-compose-completion は使用しない。というか入れたら困ったことが起きるはず。試してませんが、フォーミュラ 読むと homebrew cask の docker 使ってないから駄目だろうね。


  • docker-cleandocker-cloud ってなんだろね。

おわり。