Docker Engine和Docker Machine介绍
Docker Engine和Docker Machine介绍Docker Engine和Docker Machine介绍Docker EngineDocker MachineDocker Machine 与 Docker Engine概念上的区别使用Docker Machine参考1 Docker EngineDocker Engine也就是“Docker”,Docker我们一般理解的,都
#Docker Engine和Docker Machine介绍
[toc]
1 Docker Engine
Docker Engine也就是“Docker”,Docker我们一般理解的,都是C/S模型,用户通过docker client向docker daemon发送REST 请求。
Docker Engine包括这么几个部分:
- Docker Daemon — docker 的守护进程,属于C/S中的server
- Docker REST API — docker daemon向外暴露的REST 接口
- Docker CLI — docker向外暴露的命令行接口(Command Line API)
因此,客户端访问服务端的方式有两种
- 一种是使用命令行工具,比如docker run, docker ps….
- 另一种就是直接通过调用REST API,比如发送一个curl http请求
备注:curl
curl可以帮你完成你所有在浏览器上的操作,比如登录(这就是传输数据),下载文件,上传文件等等功能
2 Docker Machine
官方解释:
Docker Machine是一个工具,用来在虚拟主机上安装Docker Engine,并使用 docker-machine命令来管理这些虚拟主机
Docker Engine运行在本地linux系统上。如果你当前的系统是Linux,想在上边运行docker 命令,你只需要下载和安装Docker Egine就完了。然而,如果你想在网络上,云平台上,以及本地创建Docker host,你就需要Docker Machine。
无论是Mac,Windows或是Linux,你都可以在其上安装Docker Machine,使用docker-machine命令来创建和管理大量的Docker hosts。它会自动创建主机,在主机上安装Docker Engine,然后配置docker client。每个被管理的主机(“machine”)都是一个Docker 主机和一个配置过的client的组合。
官方给的Docker Machine的具体使用场景:
您可以使用Docker Machine来: 在Mac或Windows上安装并运行Docker 配置和管理多个远程Docker主机 提供Swarm群集
3 Docker Machine 与 Docker Engine概念上的区别
Docker Engine: 主要用来接收和处理docker命令请求的
Docker Machine:则主要用来管理 docker化的host (安装了Docker Engine的主机)
通常,你都是在本地安装Docker Machine。Docker Machine包含自己的命令行客户端:docker-machine
以及Docker Engine的客户端:docker
。你可以使用Machine在一个或多个虚拟机上安装Docker Engine。这些虚拟机可以是在本地,也可以是远程的。这些虚拟化的主机可以被认为是“machine”
4 使用Docker Machine
在linux上
$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
检查版本
$ docker-machine version
卸载Docker Machine
#删除可执行文件
$rm $(docker-machine)
#或者,删除您创建的机器,要单独删除每台机器
$docker-machine rm <machine-name>
#要删除所有机器
$docker-machine rm -f $(docker-machine ls -q)
$docker-machine ls
$docker-machine create --driver virtualbox default
$docker-machine env default
$eval "$(docker-machine env default)"
$docker-machine ip default
$docker-machine stop default
$docker-machine start default
参考
1 Docker Machine Overview
2 Docker Machine是什么
2017-11-29-Boy
更多推荐
所有评论(0)