了解docker中的虚拟机

时间:2018-04-18 14:38:08

标签: docker docker-compose docker-swarm docker-machine

一开始,我想强调一下我对docker容器有一些经验,我知道容器不是虚拟机,差别很大,我也知道docker容器只是简单的进程namepsaces和cgroups。

然而,昨天我读过类似的内容:
docker-machine create --driver virtualbox containerhost

我能够理解它严格连接到docker swarm堆栈,但是我想了解它是如何工作的。为了使这个问题更加明确,我将提出具体问题:

  1. 我们可以使用工具docker-machine创建虚拟机吗?如果是,将选择什么系统?我们可以ssh到这台机器?
  2. 尽管我在输入docker-machine之后从未使用docker-machine ls,但我可以看到一台机器。它是什么 ?

2 个答案:

答案 0 :(得分:0)

可以想到一个docker?实例? (运行容器)作为超轻量级虚拟机。但由于基本映像的定义非常明确,因此VM主机(在您的情况下,VirtualBox)知道如何将几乎所有活动直接(或几乎直接)传递到主机操作系统。

在幕后,正在运行的容器是一个* nix系统。一旦将其配置为托管ssh连接,您就可以通过SSH连接它。

此链接应该回答您关于docker-machine的问题:https://docs.docker.com/machine/overview/#what-is-docker-machine

答案 1 :(得分:0)

简短回答:

  1. 是的,它创建了一个支持多个提供商的虚拟机。它是可以通过ssh
  2. 访问的普通虚拟机
  3. 其目的是公开docker守护程序,因此可以远程管理它。
  4. 答案很长:

    docker-machine是一种管理远程docker守护进程的方法。 像往常一样,这些守护进程安装在服务器上(并绑定到TCP端口)。 (这个答案2)。

    常见用法包括:

    • 在Mac或Windows上安装并运行Docker
    • 配置和管理多个远程Docker主机
    • 提供群集群

    它提供drivers,允许您在多个提供程序中创建虚拟机:Oracle Virtualbox,AWS,Azure,Digital Ocean ......