LoginSignup
3

More than 5 years have passed since last update.

Docker-machine using VMware Fusion

Last updated at Posted at 2015-08-14

自分用にメモ。
これで 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

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3