1
crysislinux 2016-07-31 09:20:27 +08:00
看你拿来干什么了。如果只是需要一个 image 来搭个用到 linux 的开发环境,那确实区别不大。。
|
2
RoshanWu 2016-07-31 09:27:46 +08:00 2
前几天刚给公司做了个 Docker 推广,截两个图吧:
Docker 的使用场景官方给出了几个: 1 、 CI/CD 2 、高效的开发测试运维 3 、大数据分析(应该是什么集群之类的应用吧) 4 、减少基础开销(一台机器上可跑上千个容器) |
3
Bardon OP @RoshanWu 感觉 Vagrant 使用 alpine ,并善用快照的话,恢复也是秒级的,体积也能做到 MB ,与 docker 相比,就是一个初始镜像问题,也就是 FROM xxx
另外至于性能, docker for mac && windows ,老实说,性能不如人意,可能我有些吹毛求疵了。 |
4
aprikyblue 2016-07-31 10:33:39 +08:00 via Android
@Bardon mac 我没试过。。 windows 的 docker daemon 是运行在 linux vm 里的,性能好才有鬼了。。。
|
5
br00k 2016-07-31 10:47:19 +08:00
@Bardon 感觉很方便啊,各种镜像。以前安装一个复杂点的软件,配置麻烦死了。编译,安装依赖,配置一堆才能跑起来,现在输入一个命令等一下就可用了。
|
6
21grams 2016-07-31 10:50:10 +08:00
没用过 docker ,看了二楼的图有点疑问,既然 docker 这么好,为啥没把虚拟机淘汰掉?
|
7
mrytsr 2016-07-31 10:56:48 +08:00 via Android
选查下 lxc
|
9
andysheng 2016-07-31 11:50:47 +08:00 via iPhone
@aprikyblue mac 的 docker 也是跑在 vm 里
|
10
majinjing3 2016-07-31 11:55:13 +08:00 via Android
@Bardon 不是概念哦, docker 已经可以 production ready 了, docker 是容器管理工具,而 vagrant 是虚拟机管理工具,生产环境中,不需要 vagrant ,因为云服务提供商都有自己的 api ,而且各大提供商基础环境千差万别,而 docker 现在可以运行在大多数发行版上,和具体的云环境隔离开,无论是本地测试,生产环境测试都完保证需要的一致性
|
11
tobyxdd 2016-07-31 12:12:23 +08:00
@21grams Docker 是 Container 说白了就是个高级版沙盘 另类 chroot 和 VM 的原理不同功能也比 VM 有限 比如 Linux 上永远没法跑 Docker 的 Windows 反之亦然
|
12
defunct9 2016-07-31 12:13:40 +08:00 via iPhone
vagrant 是完全虚拟的操作系统。 docker 是进程级别的,维护进程不方便,准确说应该连 shell 都不起的
|
13
tobyxdd 2016-07-31 12:13:49 +08:00
@21grams docker 依赖 host 的内核 依赖 host 的 system calls 根本不属于 virtualization
|
14
happypy1 2016-07-31 14:52:16 +08:00
vagrant 不本质上应该是虚拟机自动部署化技术吗?它不是一个独立的虚拟机技术方案,它只是提供了一个脚本技术来创建一个虚拟机。你看它还是需要 VB , vmware 来运行虚拟机的。
|
15
kaneg 2016-07-31 15:42:57 +08:00 via iPhone
这两个差异海了去了。前者解决的是 devops 的问题,后者解决的则是开发人员的问题
|
16
bingwenshi 2016-07-31 16:50:52 +08:00
vagrant 的底层是 virtual box , 全虚拟化
|
17
bingwenshi 2016-07-31 16:51:47 +08:00
docker 顶多算是个隔离的进程,跟 os 相关的都是 hook 到物理机上的
|
18
Syc 2016-07-31 16:58:14 +08:00 via Android
docker 个人理解为 os 型沙盒,不同于软件型沙盒的是 docker 能实现更多
|
19
oska874 2016-07-31 19:02:56 +08:00 1
|
20
nsgit 2016-07-31 19:53:45 +08:00
Docker 类容器技术应用很广了, Vagrant 只是测试的时候用的比较多吧?没见过生产使用的。
|
21
loading 2016-07-31 21:35:59 +08:00 via Android
如果 docker 在 windows 上性能问题能从根本上提升, ms 也就能第二春了。
|
23
monnand 2016-08-01 00:02:28 +08:00 via Android
Docker 是容器,底层实现是利用下层操作系统提供的功能。 Linux 上是用的 cgroup + namespace 。
Vagrant 主要是用来部署测试环境的,下层多用虚拟机。 完全是两样东西 |
24
shimanooo 2016-08-01 00:56:57 +08:00
@Bardon
新版 docker 使用了 OSX/Win 原生的虚拟机组件,不用 vbox 作为虚拟机,内部还是要起个 linux 的。 ~ $ sudo docker run -it --rm base/archlinux /bin/uname -a Linux 30efc1f9e0e2 4.4.15-moby #1 SMP Thu Jul 28 22:03:07 UTC 2016 x86_64 GNU/Linux |
25
pacoxu 2016-08-01 20:28:00 +08:00
Q1 :容器会取代虚机吗?
A1 :其实我们认为在可以预见的中短期内, Docker 与虚拟机应该是共存的状态。虚拟机是资源的载体,而应用是在资源之上,这中间的生态层面其实是不一样的。通过观察现在已有的 IT 架构和公有云平台也可以发现,几乎没有大规模的公有云放弃虚拟化而使用容器做资源分配。 虚拟化出来的资源相当于裸机,而使用容器可以获得大规模调动的能力,这两者其实形成了共存、互补的生态体系。 Docker 技术的出现其实就是更好的解决传统解决方案的不足之处。 http://blog.daocloud.io/firstlive/ |