はじめに
Elasticsearch+Kibanaで遊びたい。今なら、便利なdockerイメージとかあるんじゃね?そういえば、boot2dockerってインストールしてたなーと思ったら、今はdocker-machineってのが普通らしい。docker-machineってなんだ? (←今ココ)
ということで、古いboot2docker環境を捨てて、docker-machineでdocker環境を構築してみます。boot2dockerを入れていない人は、boot2dockerのアンインストールは飛ばしてください。
環境
- MacBook Air (11-inch, Early 2015)
- Mac OS X El Capitan バージョン 10.11.3
docker-machineとは
Docker Machineとは、dockerコンテナを動かすためのホスト環境を構築するためのツールです。これを使えばローカルPC上でdockerコンテナが使えるようになります。以前は、boot2dockerというツールが一般的でしたが、今はdocker-machineがおすすめのようです。
boot2dockerをアンインストール
[注意]
既存のdocker&boot2docker環境が不要だったので、即アンインストールしています。
大事なコンテナがある場合は移行が必要な気がするのでご注意を。
$ brew list | grep docker
boot2docker
docker
homebrewでインストールしていたのでアンインストールします。
$ brew uninstall docker boot2docker
Uninstalling /usr/local/Cellar/docker/1.10.1... (10 files, 10.4M)
Uninstalling /usr/local/Cellar/boot2docker/1.8.0_1... (3 files, 8M)
複数バージョン入っている、古いバージョンが残っている場合、--force
オプションを使うとキレイになりそうです。
docker-machineをインストール
docker-machimeはdockertoolboxというツール群に含まれています。homebrew caskで入れられるのでインストールします。
$ brew cask install dockertoolbox
dockerホストの作成と起動
docker-machineコマンドで、defaultという名前でdockerホストを作ります。
$ docker-machine create -d virtualbox default
終わったら確認してみます。
$ docker-machine status
Running
Runningであればdockerホストの起動に成功しています。
次に、ローカルからdockerホスト上のコンテナを操作をできるように環境設定します。
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/syasu/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval $(docker-machine env default)
構築したでdefaultの環境を確認すると、あなたのシェルでこれを実行してね、というコメントが出るのでそのとおりに実行します。
$ eval "$(docker-machine env default)"
はい、準備完了です。
確認してみると、ローカル上にdockerホストが起動していることが分かります。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v1.10.2
これで、最新のdockerライフを送るための準備ができました。
あっという間でした。
おまけ
docker-machineで構築したdockerホストにログインしてみると、いつものクジラが出てきました。中身はboot2dockerなんですね。
$ docker-machine ssh
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.10.2, build master : 611be10 - Mon Feb 22 22:47:06 UTC 2016
Docker version 1.10.2, build c3959b1
#