初探Docker Machine
Docker Machine顧名思義是Docker所執行的環境,也就是Docker跑在哪台機器,那台機器就是所謂的Docker Machine... 此時,機器可以是Local的Virtualbox、雲端或遠端的主機...
Docker Machine某個層面上也是為了取代Boot2Docker所創建的,讓以前不同環境的操作也可以整合成相同的操作介面,讓未來的使用更加統一與直覺。
安裝
curl -L https://github.com/docker/machine/releases/download/v0.6.0/docker-machine-`uname -s`-`uname -m` > /usr/local/bin/docker-machine && \
chmod +x /usr/local/bin/docker-machine
基本操作
建立VirtualBox的default local環境
$ docker-machine create --driver virtualbox default
查看有哪些Docker Machine
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
default virtualbox Running tcp://192.168.99.100:2376
從上面的結果,我們可以看到有一台Docker Machine叫做default,建立在Virtualbox之上,而該Docker Machine的URL為:tcp://192.168.99.100:2376...
查看某個Docker Macine所需要的環境參數設定指令
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/peihsinsu/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(docker-machine env default)"
env這個指令是希望可以將該Docker Machine連線時所需要的環境參數列出來,讓大家可以比較快的切換環境... 該指令輸出的最後有個貼心小提示... 用eval可以快速地把值設定上目前環境唷。
設定執行環境使用某Docker Machine的設定
$ eval "$(docker-machine env default)"
$ env | grep DOCKER
DOCKER_HOST=tcp://192.168.99.100:2376
DOCKER_MACHINE_NAME=default
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=/Users/peihsinsu/.docker/machine/machines/default
啟動與關閉Docker Machine
查看狀態
$ docker-machine status default
Running
關閉Docker Machine
$ docker-machine stop default
$ docker-machine status default
Stopped
啟動Docker Machine
$ docker-machine start default
Starting VM...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
連線到指定的Docker Machine
$ docker-machine ssh default
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/
_ _ ____ _ _
| |__ ___ ___ | |_|___ \ __| | ___ ___| | _____ _ __
| '_ \ / _ \ / _ \| __| __) / _` |/ _ \ / __| |/ / _ \ '__|
| |_) | (_) | (_) | |_ / __/ (_| | (_) | (__| < __/ |
|_.__/ \___/ \___/ \__|_____\__,_|\___/ \___|_|\_\___|_|
Boot2Docker version 1.8.1, build master : 7f12e95 - Thu Aug 13 03:24:56 UTC 2015
Docker version 1.8.1, build d12ea79
docker@default:~$