Docker をMacで利用する、homebrewとxhyveで快適環境構築
最近caskroomを利用しなくても、homebrewで簡単にDockerをインストールできるようになりました。
加えて、今まではVirtual Boxをインストールして動かすのがセオリーでしたが、xhyveのドライバーがリリースされたので、Virtual Boxを使わなくても、Dockerを利用できるようになります。
個人的に、Virtual Boxは嫌いだったので、xhyve使えるのは非常にありがたいです。
インストール
早速homebrewで必要な物をインストールしていきます。
brew install docker docker-machine xhyve docker-machine-driver-xhyve
dcoker-machine-driver-xhyveはインストールしただけでは、権限の関係でエラーが出るため、以下のコマンドを追加します。
sudo chown root:wheel $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve sudo chmod u+s $(brew --prefix)/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve brew services start docker-machine
Docker Machineの作成
次に下記コマンドを実行して、xhyveで動く「xhyve」という名前のDocker Machineを作成します。
docker-machine create --driver xhyve xhyve eval $(docker-machine env xhyve)
dockerの動作テスト
まずは、下記コマンドを実行してDocker Machineが作成できていることを確認します。
docker-machine ls
下記のように、NAMEがxhyveでDRIVERがxhyveの物が作成できていれば成功です。
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS xhyve - xhyve Running tcp://192.168.64.3:2376 v17.04.0-ce
Dockerのインストール、設定が完了したら以下のコマンドを実行して、Dockerが正常に動作しているか確認します。
docker run hello-world
以下のような結果が返ってくれば導入OKです。
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 78445dd45222: Pull complete Digest: sha256:c5515758d4c5e1e838e9cd307f6c6a0d620b5e07e6f927b07d05f6d12a1ac8d7 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID:For more examples and ideas, visit:Welcome to the world's largest container registry built for developers and …cloud.docker.com
これでDockerの導入は完了です。
なお、macOSを再起動した後はDocker Machineが停止した状態になるので、Dockerを利用する前に下記コマンドで、Docker Machineを起動するようにしてください。
docker-machine start xhyve
止める際は下記のコマンドで停止することができます。
docker-machine stop xhyve
Virtual Boxインストールしたくなかったので、自分の環境にDockerをインストールすることを避けていたのですが、xhyveが使えるのなら・・・!ということで自分の環境にもインストールしてみました。
コンテナ型仮想化技術は、ひたすらに進化を続けており、国内でも導入例が続々と報告されていますよね。
今からコツコツ実際に使いながら慣れていこうと思います。