想试试docker swarm,然后发现它需要建立一些docker machine,docker machine 就是跑了一个真正的虚拟机了,这个虚拟机里头会内嵌 Docker Engine (也就是里头可以用 docker 的那些命令),在 windows 上安装 docker 的时候,其实 docker 引擎和 docker machine 都会装上的,有个困惑是有了 docker machine,也就不需要 docker 引擎了。
这是我用docker-machine create
创建的一些 machine:
。docker 引擎本身只是做个进程和网络还有其他资源的隔离吧( linux 上的 namespaces )。
另外还有个疑问,开多个 docker machine 也该也挺费资源的吧(总比容器要多)。
1
ai277014717 2018-07-13 14:04:49 +08:00
个人理解 docker machine 就像是 ssh,远程操作容器的一个入口。不消耗资源。
|
2
ai277014717 2018-07-13 14:05:10 +08:00
有误请打脸。
|
3
salamanderMH OP @ai277014717 不是吧,容器都是直接 ssh 的,docker machine 的目的是让你在 machine 里跑容器,然后可以多节点,作为 worker 的 machine
|
4
rockyou12 2018-07-13 15:35:06 +08:00
docker machine 就是开个虚拟机给你用 docker,windows 的原生 docker (基于 hyper-v )和 linux 上的体验差不多。但两个实现差距很大,由于 hyper-v 和 v-box 不兼容所以也无法同时用。
|
5
salamanderMH OP @rockyou12 是的,有个问题是 docker engine 不是可以不用了嘛?我在 machine 里弄就行了
|
6
rockyou12 2018-07-13 16:22:19 +08:00
@salamanderMH 确实回答不了应为从来没用过……不是直接开虚拟机在 linux 上用就是直接用 windows 的 docker
|
7
salamanderMH OP @rockyou12 还是感谢回答的,docker machine 这个东西,我也是刚用
感觉 docker 加了很多额外的东西,让它不存粹了,毕竟有时候就是要帮我开个容器,跑服务就行了 |
8
ai277014717 2018-07-13 17:27:49 +08:00
@salamanderMH 重新表达一下。我的意思 docker machine 的功能只不过是向目标系统发送指令接受信息,所以不占资源。
|
9
salamanderMH OP @ai277014717 不是的,本身开个 machine 就是跑个虚拟机了
|
10
ai277014717 2018-07-13 17:47:20 +08:00
@salamanderMH 先声明我没怎么用过,也许说的不对。 看下官方的介绍。
You can use Machine to install Docker Engine on one or more virtual systems. These virtual systems can be local (as when you use Machine to install and run Docker Engine in VirtualBox on Mac or Windows) or remote (as when you use Machine to provision Dockerized hosts on cloud providers). docker-machine 可以跑在本地或其他机器。跑在本地感觉多此一举直接用 docker 就可以。我猜你应该就是本地自己玩呢。 假如你的容器挂了你要怎么重启呢? 可以 ssh 到主机(非容器 vps 主机)重新启动。另一种方式就是使用 docker-machine |
11
Reficul 2018-07-13 20:07:05 +08:00 via Android
@ai277014717 docker machine 貌似是用来快速创建 docker 环境的。单纯控制远程主机的 docker daemon 可以在 docker client 上加上-H 参数( daemon 需要监听在网络上,而不是 domain socket )
|
12
YzSama 2018-07-15 22:29:15 +08:00 via iPhone
@ai277014717 它的另一个作用是方便你管理 docker 机器。在你有多台未安装 docker 的机器(虚拟机) 的情况下,快速帮你安装并管理 docker
|
13
salamanderMH OP @YzSama 快速装 docker,另外也是为了集群
|