05 - Docker Machine 概述

Docker Machine可以用来:

  • 在Mac或Windows系统中安装和运行Docker服务
  • 提供和管理多个远程Docker主机
  • 提供Swarm群集

什么是Docker Machine?

Docker Machine是一个可以让你在虚拟机上安装Docker引擎的工具,并且可以通过docker-machine的指令来管理这些虚拟机。可以使用Docker Machine在你的本地Mac或Windows系统中、网络公司、数据中心或提供了像AWS或Digtal Ocean的云端来创建Docker虚拟主机。

使用docker-machine命令可以启动、检测、停止、重启一个被管理的虚拟主机,升级Docker客户端和守护进程和配置一个Docker客户端与你的主机对话。

将机器的CLI指向正在运行的被管理的主机,你就可以直接在该主机上运行docker命令了,如运行:docker-machine env default表示机器的CLI指向了一个名为default的虚拟主机,根据屏幕上的提示信息完成环境变量的配置,即可运行docker psdocker run hello-world等等。

安装Docker Machine

在文章《04 - Windows8中安装及验证Docker》中已经讲述了如何安装Docker Machine及安装Docker Machine的注意事项,在这里就不再赘述!

Docker Machine命令集

使用docker-machine help查看所有帮助信息:

C:\Users\zsl-pc>docker-machine help
Usage: docker-machine [OPTIONS] COMMAND [arg...]

Create and manage machines running Docker.

Version: 0.7.0, build a650a40

…………

Commands:
  active                Print which machine is active
  config                Print the connection config for machine
  create                Create a machine
  env                   Display the commands to set up the environment for the Docker client
  inspect               Inspect information about a machine
  ip                    Get the IP address of a machine
  kill                  Kill a machine
  ls                    List machines
  provision             Re-provision existing machines
  regenerate-certs      Regenerate TLS Certificates for a machine
  restart               Restart a machine
  rm                    Remove a machine
  ssh                   Log into or run a command on a machine with SSH.
  scp                   Copy files between machines
  start                 Start a machine
  status                Get the status of a machine
  stop                  Stop a machine
  upgrade               Upgrade a machine to the latest version of Docker
  url                   Get the URL of a machine
  version               Show the Docker Machine version or a machine docker version
  help                  Shows a list of commands or help for one command

Run 'docker-machine COMMAND --help' for more information on a command.

中文翻译如下:

命令:

active:显示出当前的活动主机;

config:显示主机连接配置;

create:创建一个主机;

env:设置当前的环境是与哪个主机通信

inspect:查看主机的详情信息;

ip:查看主机IP地址;

kill:强制关闭一个主机;

ls:查看所有的主机信息;

provision:重新配置现有主机;

regenerate-certs:为主机重新生成证书;

restart:重启一个主机;

rm:删除一个主机;

ssh:以ssh方式连接到主机上;

scp:远程复制,用过Linux的应该都清楚

status:查看主机状态;

stop:停止一个正在运行的主机;

upgrade:升级主机的Docker服务到最新版本;

url

version:查Docker Machine版本;

help:查看Docker Machine的帮助信息;

使用docker-machine 指令 --help可以查看具体指令帮助信息。

常用Docker Machine指令

  • 创建主机
docker-machine create -d virtualbox test01

也可以写成:

docker-machine create --driver virtualbox test01

创建一个名为test01的主机,驱动方式为virtualbox

  • 启动主机
docker-machine start test01
C:\Users\zsl-pc>docker-machine start mytest
Starting "mytest"...
(mytest) Check network to re-create if needed...
(mytest) Waiting for an IP...
Machine "mytest" was started.
Waiting for SSH to be available...
Detecting the provisioner...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.

启动名为test01的主机,根据提示需要设置环境

  • 配置环境
C:\Users\zsl-pc>docker-machine env mytest
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\zsl-pc\.docker\machine\machines\mytest
SET DOCKER_MACHINE_NAME=mytest
REM Run this command to configure your shell:
REM     @FOR /f "tokens=*" %i IN ('docker-machine env mytest') DO @%i

根据提示还需要再进行下一步配置

@FOR /f "tokens=*" %i IN ('docker-machine env mytest') DO @%i

注意:在使用命令:docker-machine env mytest时可能会出现以下提示:

C:\Users\zsl-pc>docker-machine env mytest
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates
for host "192.168.99.101:2376": dial tcp 192.168.99.101:2376: connectex: No connection could be made because the target
machine actively refused it.
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.

当出现上述信息时需要重新生成证书信息。

  • 重新生成证书
C:\Users\zsl-pc>docker-machine regenerate-certs mytest
Regenerate TLS machine certs?  Warning: this is irreversible. (y/n): y
Regenerating TLS certificates
Waiting for SSH to be available...
Detecting the provisioner...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
  • 查看IP
C:\Users\zsl-pc>docker-machine ip
192.168.99.100
  • 列表主机
C:\Users\zsl-pc>docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER    ERRORS
default   *        virtualbox   Running   tcp://192.168.99.102:2376           v1.12.3
mytest    -        virtualbox   Running   tcp://192.168.99.100:2376           v1.12.3
  • 查看当前活动主机
C:\Users\zsl-pc>docker-machine active
mytest

上述的这些指令是在docker-machine使用相对较多实用性也很强的指令。其他的只用简单测试下便知晓其作用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容