はじめに
公式サイトにはdocker-machine + local VMで環境を作成する方法が書いてあるが,ローカルがLinuxの場合は必ずしもVMを使う必要がないので直接ローカル環境を作成した。
手順
1. docker-machineのインストール
公式の手順を参考にdocker-machineをローカルにインストールする。(2015年10月現在)
$ curl -L https://github.com/docker/machine/releases/download/v0.4.0/docker-machine_linux-amd64 > /usr/local/bin/docker-machine
$ chmod +x /usr/local/bin/docker-machine
$ docker-machine -v
machine version 0.4.0
ちなみにリンク先の手順では,最初に docker 1.7.1以上をインストールする となっているが,docker-machineがdocker環境を整備するのでdockerはインストールしておく必要はない。
ちなみにインストールされるのはdocker公式のバイナリ。
2. ssh鍵を登録する
前述したとおりdocker-machineがdocker環境整備をおこなうためroot権限が必要となる。かつ対象のホストにssh接続をおこなうため公開鍵を/root/.ssh/authorized_keys
などに追記しておく。
3. docker-machineで環境構築をおこなう
準備がととのったら docker-machine で環境構築をおこなう
$ docker-machine create -d generic --generic-ip-address 127.0.0.1 local
Importing SSH key...
To see how to connect Docker to this machine, run: docker-machine env local
これで設定完了です。状態の確認は docker-machine ls
。
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
local * generic Running tcp://127.0.0.1:2376
4. dockerをつかう
ローカルのdockerを操作するために環境情報を確認は docker-machine env local
。
$ docker-machine env local
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://127.0.0.1:2376"
export DOCKER_CERT_PATH="/home/vagrant/.docker/machine/machines/local"
export DOCKER_MACHINE_NAME="local"
# Run this command to configure your shell:
# eval "$(docker-machine env local)"
これで,dockerを使えるようになる。またsudoをつける必要もない。
まとめ
docker-machineを利用してdockerのローカル環境を構築した。
dockerを操作する際にいちいちsudoをなくて良いため,単純にdockerをインストールするよりも便利だと思う。