Mac(el capitan)にDocker Toolboxを入れて、Docker Quickstart Terminalで起動!!という時になぜかクジラどころかコマンドすら実行していないのでスクリプトを作りました。
そもそもdockerを起動するためにわざわざappを開くのが面倒くさい…
MacでDockerを使用する際、DockerはLinuxカーネルを使用しているので、Linuxの仮想環境を作る必要があります。 そのdocker用の仮想環境を管理しているのがdocker-machineです。 またdocker-machineによって、ホストからゲストのdockerを直接操作できるようになります。
Docker Quickstart Terminal.appはホストからゲストのdockerコマンドを実行できるようにした状態でターミナルを開きます。
Docker Quickstart Terminalの動きはざっくりですが
defaultという VM を持っていないときvirtualBoxでdefaultという名前の VM を作る
defaultをdocker-machine起動する
環境変数の設定
なのでdefaultを作った状態を前提として、defaultのON,OFFを切り替えるスクリプトを作りました。
#! /bin/bash count=`ps -ef | grep VirtualBox | grep -c default` if [ $count = 0 ]; then echo "start VM default" docker-machine start default eval $(docker-machine env default) else echo "stop VM default" docker-machine stop default fi
※ただプロセスでVirtualBoxとdefaultがかいてある行数を取得しているだけなのでdefault〜というVMを持っている場合には適用できませんね
ターミナルで直接defaultを作るコマンド
$ docker-machine create --driver virtualbox default
docker-machine によって管理しているゲスト一覧
$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.100:2376 v1.11.2
参考