前面《Docker学习—Compose》文中介绍了Compose的使用方式;接下来继续了解docker三剑客之一的 Machine;
一、Docker Machine简介 1、什么是Docker Machine?Docker Machine是一个可以在虚拟主机上安装Docker引擎,并使用Docker Machine命令管理主机的工具。您可以使用计算机在本地Mac或Windows box、公司网络、数据中心或云提供商(如Azure、AWS)上创建Docker主机。
Docker Machine是一个工具,可以让您在虚拟主机上安装Docker Engine,使用Docker Machine命令,您可以启动、检查、停止和重新启动托管主机,升级Docker客户端和守护程序,并配置Docker客户端与主机对话。
2、为什么要用Docker Machine?Docker Machine有这两个广泛的用例。
在旧的桌面系统,想在Mac或Windows上运行Docker
如果您主要在旧版Mac或Windows笔记本电脑或桌面上工作,但不符合新的Docker desktop for Mac和Docker desktop for Windows apps的要求,则需要Docker Machine在本地运行Docker Engine。
想在远程系统上配置Docker主机
Docker引擎在Linux系统上本机运行。如果您的主系统是Linux机器,并且希望运行docker命令,您只需下载并安装docker Engine。但是,如果你想在一个网络上、云端甚至本地提供多个Docker主机,你需要Docker Machine。
3、Docker Engine和Docker Machine有什么区别?通常说“ Docker”时,通常指的是Docker Engine,由Docker守护程序组成的客户端-服务器应用程序,用于指定与守护程序交互的接口的REST API和与守护程序进行对话的命令行界面(CLI)客户端(通过REST API包装器)。
Docker Engine从CLI接受命令,
例如 :docker run <image> 启动容器运行镜像;docker ps 列出正在运行的容器;docker image ls 列出镜像列表等
Docker Machine是用于调配和管理Docker主机(带有Docker Engine的主机)的工具。通常,您在本地系统上安装Docker Machine。Docker Machine有自己的命令行客户端 docker-machine和Docker Engine客户端docker。您可以使用Machine在一个或多个虚拟系统上安装Docker Engine。这些虚拟系统可以是本地的(如在Mac或Windows上使用Machine在VirtualBox中安装并运行Docker Engine时),也可以是远程的(如在Mac上使用Cloud在云提供商上配置Docker主机时)。可以将Dockeri主机本身视为(有时也称为托管的“机器”)。
4、Docker Machine支持机器驱动程序
亚马逊网络服务
微软Azure
数字海洋
外标
泛型
Google Compute Engine
Linode(非官方插件,Docker不支持)
Microsoft Hyper-V
OpenStack的
机架空间
IBM软层
甲骨文VirtualBox
VMware vCloud Air
VMware融合
VMware vSphere
VMware Workstation(非官方插件,Docker不支持)
Grid 5000(非官方插件,Docker不支持)
Scaleway(非官方插件,Docker不支持)
Hetzner Cloud(非官方插件,Docker不支持)
ArvanCloud(非官方插件,Docker不支持)
二、Docker Machine应用示例本次示例采用windows docker 中使用Docker Machine来实现虚拟环境(hyper-v)中dcoker环境 生成
1、安装Docker Machine:
MacOS中使用:
$ base=https://github.com/docker/machine/releases/download/v0.16.0 && curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine && chmod +x /usr/local/bin/docker-machine