Docker Machine概述
预计阅读时间:4分钟
您可以使用Docker Machine来执行以下操作:
- 在Mac或Windows上安装并运行Docker
- 设置和管理多个远程Docker主机
- 供应群群集
什么是Docker Machine?
Docker Machine是一种工具,可让您在虚拟主机上安装Docker Engine,并使用docker-machine
命令管理主机。您可以使用Machine在本地Mac或Windows盒,公司网络,数据中心或Azure,AWS或DigitalOcean等云提供商上创建Docker主机。
使用docker-machine
命令,您可以启动,检查,停止和重新启动托管主机,升级Docker客户端和守护程序,以及配置Docker客户端以与您的主机进行通信。
将计算机CLI指向正在运行的托管主机,您可以docker
直接在该主机上运行命令。例如,运行docker-machine env default
指向一个名为的主机default
,按照屏幕上的说明完成
env
安装,然后运行docker ps
,docker run hello-world
依此类推。
机器是在Docker v1.12之前的Mac或Windows上运行Docker的唯一方法。从beta程序和Docker v1.12开始, 适用于Mac的Docker Desktop和 适用于Windows的Docker Desktop作为本机应用程序提供,在较新的台式机和笔记本电脑上,此用例的更好选择。我们鼓励您尝试这些新应用。
如果不确定从哪里开始,请参阅《 Docker入门》,它指导您完成有关Docker的简短端到端教程。
我为什么要使用它?
Docker Machine使您可以在各种Linux上配置多个远程Docker主机。
此外,如上一主题所述,Machine允许您在较旧的Mac或Windows系统上运行Docker。
Docker Machine有这两个广泛的用例。
-
我有一个较旧的桌面系统,想在Mac或Windows上运行Docker
如果您使用的是旧的Mac或Windows笔记本电脑或台式机不符合新的要求,主要工作泊坞Mac版桌面和码头工人Windows版桌面应用程序,那么你需要泊坞窗机在本地运行泊坞引擎。
-
我想在远程系统上配置Docker主机
Docker Engine本机运行在Linux系统上。如果您将Linux机器作为主要系统,并且想要运行docker
命令,那么您所需要做的就是下载并安装Docker Engine。但是,如果您想要一种有效的方法来在网络上,在云中甚至在本地配置多个Docker主机,则需要Docker Machine。
无论您的主系统是Mac,Windows还是Linux,您都可以在其上安装Docker Machine,并使用docker-machine
命令来配置和管理大量Docker主机。它会自动创建主机,在其上安装Docker Engine,然后配置docker
客户端。每个托管主机(“计算机”)都是Docker主机和配置的客户端的组合。
Docker Engine和Docker Machine有什么区别?
人们说“ Docker”时,通常指的是Docker Engine,由Docker守护程序组成的客户端-服务器应用程序,指定用于与守护程序交互的接口的REST API和与守护程序进行对话的命令行界面(CLI)客户端(通过REST API包装器)。Docker Enginedocker
从CLI接受命令,例如
docker run <image>
,docker ps
列出正在运行的容器,docker image ls
列出映像等。
Docker Machine是用于置备和管理Dockerized主机(带有Docker Engine的主机)的工具。通常,您在本地系统上安装Docker Machine。Docker Machine有自己的命令行客户端
docker-machine
和Docker Engine客户端docker
。您可以使用Machine在一个或多个虚拟系统上安装Docker Engine。这些虚拟系统可以是本地的(如在Mac或Windows上使用Machine在VirtualBox中安装和运行Docker Engine时),也可以是远程的(如在Mac上使用Machine在云提供商上配置Dockerized主机时)。Dockerized主机本身可以被认为是托管的“机器” ,有时也称为托管的“机器”。
接下来要去哪里
- 安装Docker机器
- 使用VirtualBox在本地系统上创建并运行Docker主机
- 在您的云提供商上配置多个Docker主机
- 群模式入门
- 了解机器概念
- Docker Machine驱动程序参考
- Docker Machine子命令参考
- 从Boot2Docker迁移到Docker Machine