我需要在Ubuntu上创建Docker机器吗?需要安装Virtual Box吗?

3
我最近在Ubuntu 16.04上安装了docker-ce,并按照Docker文档中的说明配置了docker-machine包。
在测试安装过程中,docker run命令执行得很好,但是docker-machine create命令要求配置Virtual Box。
据我所知,Docker容器在Linux上运行,因此需要在Mac或Windows上使用VirtualBox,这两者不支持Hyper-V,但为什么在Ubuntu上也需要呢?
创建Docker Machine需要Virtual Box有什么用?

不需要使用虚拟机来运行Docker容器。你可能需要了解一下Docker Machine是什么,因为它需要虚拟主机。 - Ayushya
你只需要一个虚拟机就可以在非 Linux 系统上运行 Docker。 - Carlos
1个回答

9
Docker Machine的概念是允许用户在虚拟主机上安装Docker Engine(即Docker守护进程)。这些主机可以是在本地计算机上运行的虚拟化工具(如VirtualBox和KVM)上的VM,也可以是在公司数据中心或AWS、DigitalOcean等云服务提供商上运行的远程VM。一旦安装了Docker Engine,这些主机也可以由Docker Machine进行管理,例如从您的本地计算机上。不需要使用Docker Machine在Ubuntu上运行Docker。但是,如果你想在你的计算机上创建多个Docker主机的swarm集群,那么你可以利用Docker Machine和VirtualBox来创建多个VM,每个VM都是一个Docker主机。更多关于Docker Machine的信息请点击这里

为什么要踩这个问题?该问题询问的是在Ubuntu上为什么需要Docker Machine,以及在创建Docker Machine时VirtualBox的作用。并不是关于如何使用Docker Machine和Virtual Box驱动程序创建Docker主机的问题。 - ivan.sim
我给你点了个赞,感谢你的解释。如果每个虚拟机都是一个Docker主机。我有一个问题找不到答案,那就是关于嵌套虚拟化的问题。如果我想在单个VM上定义多个Docker主机(类似于Windows上的Docker工具箱+VirtualBox),该怎么办呢?比如在我的VirtualBox Ubuntu实例中? - qodeninja
1
@qodeninja 我不认为你可以那么做。你使用这个的情况是什么? - ivan.sim
1
如果您想在本地拥有多个Docker主机,难道不能从您的主机操作系统运行docker-machine吗? - ivan.sim
确实,就像我说的那样,我之前没有理解docker-machine的本质。这个问题与我的工作流程有关。我通常不在Windows上进行开发,而是在我的Ubuntu虚拟机上进行开发。我想从我的开发环境启动docker主机,似乎只能从Windows上启动,这需要我使用docker-toolbox/git-bash。 - qodeninja
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接