自分用にメモ。
これで Vagrant の VMWare Fusion Integration 無しでも大丈夫かも。
準備
VMWare Fusionのインストール
- Dockerコンテナを動かす machine は VMware Fusion を使うので、これをあらかじめインストールしておく
Docker Toolbox のインストール
-
https://www.docker.com/toolbox からイメージを取得、インストール
- /usr/local/bin 以下にdockerやdocker-machine コマンドがインストールされる
machine の管理
machineの作成
docker-machine create --driver vmwarefusion <machine_name>
例えばdefaultという名前のmachineを作成するには
docker-machine create --driver vmwarefusion default
とする。
machineをカスタマイズするには
docker-machine create \
--driver vmwarefusion \
--vmwarefusion-cpu-count "2" \
--vmwarefusion-memory-size "2048" \
--vmwarefusion-disk-size "40000" \
default-2cpu-2gb-40gb
などオプションで指定できる。
machine の確認
docker-machine ls
出力例)
NAME ACTIVE DRIVER STATE URL SWARM
default vmwarefusion Running tcp://172.16.148.136:2376
default-2cpu-2gb-40gb vmwarefusion Running tcp://172.16.148.137:2376
docker を動かすための環境変数の確認
docker-machine env <machine_name>
出力例)
$ docker-machine env default export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://172.16.148.136:2376"
export DOCKER_CERT_PATH="/Users/xxx/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(docker-machine env default)"
例えば machine名 default を (dockerコマンドに対して) active にするには
eval "$(docker-machine env default)"
docker-machine ls
で確認すると default がactiveになる
NAME ACTIVE DRIVER STATE URL SWARM
default * vmwarefusion Running tcp://172.16.148.136:2376
default-2cpu-2gb-40gb vmwarefusion Running tcp://172.16.148.137:2376
解除するには 環境変数を解除する(-u
はunset)
eval "$(docker-machine env -u)"
machine の起動
docker-machine start <machine_name>
machine の停止
docker-machine stop <machine_name>
machine の削除
docker-machine rm <machine_name>
docker の利用
上記環境変数が正しく設定されていれば、対象のmachineに対してdockerコマンドが使える。
テスト例)
$ docker-machine active
deafult
$ docker run busybox echo hello world
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
cf2616975b4a: Pull complete
6ce2e90b0bc7: Pull complete
8c2e06607696: Pull complete
Digest: sha256:df9e13f36d2d5b30c16bfbf2a6110c45ebed0bfa1ea42d357651bc6c736d5322
Status: Downloaded newer image for busybox:latest
hello world