Dockerについての理解を深める 〜その1〜
Dockerは進化が速いので情報が古くなっている場合があります。
いけてる人たちは使っているDockerについて、複数回にわけて理解を深めていきます。
今回はDockerを扱うツールが入ったDocker Toolboxとdocker-machineについて解説していきます。
動作環境
2016/02/13現在で以下のバージョンで動作確認をしています。
$ docker --version Docker version 1.9.1, build a34a1d5 $ docker-machine --version docker-machine version 0.5.5, build 02c4254 $ docker-compose --version docker-compose version 1.5.2, build 7240ff3
Docker Toolbox
Docker Toolboxとは、VMでDocker用の仮想環境を立ち上げて簡単にDockerを使えるようにしたツールです。
この中には、
- VirtalBox
- 仮想環境を作成するツール
- docker
- docker-machine
- docker用の仮想環境を管理するツール
- docker-compose
- 複数のdockerコンテナを1つのファイルで管理することができる
などが入っています。
docker-machine
docker-machineで使うコマンドを紹介します。
ls
マシンリストを表示します。
$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.100:2376 v1.10.1
create
dockerマシーンを作成します。
$ docker-machine create --driver virtualbox default INFO[0000] Creating CA: /Users/akaimo/.docker/machine/certs/ca.pem INFO[0000] Creating client certificate: /Users/akaimo/.docker/machine/certs/cert.pem INFO[0002] Downloading boot2docker.iso to /Users/akaimo/.docker/machine/cache/boot2docker.iso... INFO[0141] Creating SSH key... INFO[0141] Creating VirtualBox VM... INFO[0149] Starting VirtualBox VM... INFO[0150] Waiting for VM to start... INFO[0182] "default" has been created and is now the active machine. INFO[0182] To point your Docker client at it, run this in your shell: $(docker-machine env default)
env
dockerマシーンを操作するためには環境変数を設定する必要があります。
$ docker-machine env default export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://192.168.99.100:2376" export DOCKER_CERT_PATH="/Users/shu/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" # Run this command to configure your shell: # eval $(docker-machine env default)
出力されたコマンドを一つずつ実行するのは面倒なので、以下のコマンドを実行します。
$ eval $(docker-machine env default)
stop
dockerマシーンを停止させます。
$ docker-machine stop default (default) Stopping VM... Machine "default" was stopped.
start
dockerマシーンを起動します。
$ docker-machine start default (default) Starting VM... Machine "default" was started. Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
dockerマシーンのIPが変わっている可能性があるので、環境変数の設定を行う必要があります。
ssh
dockerマシーンにssh接続します。
$ docker-machine ssh default ## . ## ## ## == ## ## ## ## ## === /"""""""""""""""""\___/ === ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~ \______ o __/ \ \ __/ \____\_______/ _ _ ____ _ _ | |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __ | '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__| | |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ | |_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_| Boot2Docker version 1.10.1, build master : b03e158 - Thu Feb 11 22:34:01 UTC 2016 Docker version 1.10.1, build 9e83765 docker@default:~$
rm
dockerマシーンを削除します。
$ docker-machine rm default