Docker Machine 是一種配置新資源的最快且最簡單的方式,并能讓容器在其上運(yùn)行。 Docker Machine 能夠創(chuàng)建服務(wù)器、在服務(wù)器上安裝 Docker,以及配置本地 Docker 客戶端, 讓它們能夠訪問服務(wù)器。Docker Machine 自帶了很多驅(qū)動(dòng),能夠適配大部分主流的云服務(wù) 提供商(包括 AWS、谷歌的 Google Compute Enginer、微軟 Azure、Digital Ocean)以及 VMWare 和 VirtualBox。
安裝完成后如果想查看已經(jīng)檢測(cè)到的主機(jī),使用以下命令:
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM default
virtualbox Running tcp://192.168.99.100:2376
下一步需要在云端添加一臺(tái)主機(jī).
docker-machine不支持直接創(chuàng)建阿里云ECS,雖然有第三方插件,但我只想用docker-machine遠(yuǎn)程安裝管理docker的功能,創(chuàng)建和刪除ECS還是在阿里云的控制臺(tái)操作比較放心:)
- docker-machine的ssh功能只支持基于public key認(rèn)證,但是阿里云登錄的時(shí)候只支持通過密碼登錄,所以這里要生成public key:
export ECS_IP=11.1.1.1 //這里地址為云端服務(wù)器地址
#阿里云控制臺(tái)創(chuàng)建的ecs的ip地址
brew install ssh-copy-id
ssh-copy-id -i ~/.ssh/id_rsa.pub root@$ECS_IP
ssh root@$ECS_IP #測(cè)試是否不用輸入密碼就登錄了
- 公鑰認(rèn)證搞定后,創(chuàng)建阿里云的docker-machine
export ECS_IP=0.0.0.0 #阿里云控制臺(tái)創(chuàng)建的ecs的ip地址
docker-machine create --driver generic --generic-ip-address=$ECS_IP aliyun-machine
創(chuàng)建完成后,記得eval $(docker-machine env aliyun-machine)一下,即可用本地的docker遠(yuǎn)程操作阿里云ECS上的docker鏡像了。
- 當(dāng)你準(zhǔn)備把云資源關(guān)掉時(shí),只需這樣做:
$ docker-machine stop aliyun-machine
$ docker-machine rm aliyun-machine