Docker + Docker Machine のインストール
まずは、Docker 本体と Docker Machine をインストールします。
Mac だと Docker を直接的に実行できないのですが、Docker Machine を使用すると、一旦VM上で CoreOS や boot2docker を実行して、その上で簡単に Docker を実行できるようになります。
インストール自体はどちらも Homebrew で簡単にインストールすることができます。
$ brew install docker docker-machine
Machine の作成
docker-machine コマンドで新しく Machine を作成します。
$ docker-machine create -d virtualbox dev-machine ・・・(省略) Setting Docker configuration on the remote daemon... Checking connection to Docker... Docker is up and running! To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env dev-machine
上記の dev-machine
の部分は Machine の名前になるので、好きな名前をつけてかまいません。
出力の最終行にVM上の Docker Machine に接続するために docker-machine env dev-machine
を実行してくださいと書かれているので、これを実行します。
$ docker-machine env dev-machine export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="/path/to/.docker/machine/machines/dev-machine" export DOCKER_MACHINE_NAME="dev-machine" # Run this command to configure your shell: # eval $(docker-machine env dev-machine)
docker-machine env dev-machine
を実行すると、環境によって多少異なりますが、このようなかたちで色々表示されるかと思います。
これは要するに最終行の eval $(docker-machine env dev-machine)
というコマンドを実行すると、Docker に接続するための環境変数が設定されるということです。
それでは、早速コマンドを実行してみましょう。
$ eval $(docker-machine env dev-machine)
特に何も出力されませんが、これで Docker Machine に接続できるようになりました。
Docker Machine に接続する
Docker Machine に接続してみます。
$ docker-machine ssh dev-machine ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\_______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| Boot2Docker version 1.10.3, build master : 625117e - Thu Mar 10 22:09:02 UTC 2016 Docker version 1.10.3, build 20f81dd
Docker Machine に接続することができたので、docker pull
コマンドを実行して、Ubuntu のイメージを取得します。
$ docker pull ubuntu:latest latest: Pulling from library/ubuntu 203137e8afd5: Pull complete 2ff1bbbe9310: Pull complete 933ae2486129: Pull complete a3ed95caeb02: Pull complete Digest: sha256:1bea66e185d3464fec1abda32ffaf2a11de69833cfcf81bd2b9a5be147776814 Status: Downloaded newer image for ubuntu:latest
docker images
コマンドを実行すると Docker Machine 内のイメージ一覧が見れるので、先ほど取得した Ubuntu のイメージがきちんと表示されるか確認してみましょう。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 97434d46f197 3 days ago 188 MB
問題なく Ubuntu のイメージが取得できたのが確認できました。
Mac から Docker コマンド実行
ここまでは Docker Machine 内で docker コマンドを実行していたので、exit 等して Mac に戻りましょう。
少し前に eval $(docker-machine env dev-machine)
を実行しましたが、これを実行していれば Mac からも docker コマンドが実行できるので、Docker Machine 内のイメージ一覧を表示させて、docker コマンドがきちんと実行できるか確認します。
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 97434d46f197 3 days ago 188 MB
Mac からも docker コマンドが実行できました!
まとめ
これで Mac に docker の環境を整えることができました。
ですが、このままでは docker をどのように使うのかイメージがつきづらいと思いますので、次回以降で PHP の開発環境を実際に構築していきたいと思います。
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化
- 作者: 阿佐志保,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/20
- メディア: 大型本
- この商品を含むブログ (3件) を見る