1
some0ne 2015-11-26 21:46:39 +08:00
比如,现在我家的服装店是自己开车去批发市场进货,我一个人往车上搬就够了,难道换成集装箱会更好?
|
2
mianju 2015-11-26 21:51:05 +08:00
但是吧,比如你想尝试某个一套的东西,比如一个小房间。你是想自己花大把时间来搭一下呢,还是整个现成的先去体验一下呢?
|
4
odirus 2015-11-26 22:02:25 +08:00 1
不能一概而论哦,这个看个人情况吧,我的个人网站就是通过 docker + 私有 git 项目 来自动备份的,即使换一台 VPS ,也可以分分钟自动重新部署好。
|
5
gam2046 2015-11-26 22:03:06 +08:00
如果是采用群集呢?你现有的方式就会很繁琐了,而且不利于后期维护。
|
6
elgoog1970 2015-11-26 22:07:09 +08:00
你首先要知道为什么使用 Docker , Docker 的优势在哪里
|
7
nekoyaki 2015-11-26 22:16:52 +08:00 1
docker 不是万灵药,有它自己的适用场景,同时,为了得到这些好处,也是要付出一些代价的。
对开发来说,它可以让你比较轻易地分出一个隔离环境,比传统的虚拟机方式速度快、吃资源也要少。 对部署来说,它可以让你非常容易和方便地以所谓的“容器化”的方式去部署应用。 但是他当然是有代价的。比如磁盘性能不够、学习成本等等。如果你根本不需要它带来的这些优势,那么很显然它对你来说就没有意义,这是实话实说。 我们不像*某些*vagrant 吹,看见别人不管问什么,不管场景合适不合适,都只会甩下一句 vagrant ,丝毫不提代价和适用场景。 |
8
az OP @nekoyaki 分析的蛮有道理的。目前所有的项目统一在 Ubuntu server 环境,并不需要隔离。如果弄 ubuntu 上装 docker ,反而影响性能。
|
10
Tink 2015-11-26 22:27:55 +08:00
未必,有些情况没必要上 docker
|
11
buckethead1 2015-11-26 22:28:26 +08:00 via Android
是啊
如果你新开个 vps ,想部署同样的网站怎么办? 存个镜像然后新建?显然 docker 更方便 |
12
i1173081 2015-11-26 22:31:25 +08:00
docker 到底是个什么东西。为什么到处都在用。我隐约记得 docker 是个用来隔离的东西啊
|
13
KyleMeow 2015-11-26 22:37:40 +08:00
可以先体验一下它,然后再决定。我挺喜欢它的隔离性,就和集装箱一样,打包运走了再在其他服务器上部署很容易,不至于换服务器后发现各种配置文件散落一地。可以说与主机的耦合性低。
|
14
crowds 2015-11-26 22:41:32 +08:00
当然会了 这可是万能而且高大上 docker
什么? 你还在服务端敲命令? 太 low~~ docker run 不是命令? docker 的命令怎么能叫命令,集装箱你懂吗?鲸鱼你懂吗? |
15
nekoyaki 2015-11-26 22:45:55 +08:00
@i1173081
是隔离用的。 但是 docker 的隔离带来了不少好处,比如说 1 、真的很轻量,不管是磁盘占用还是内存占用还是启动速度。 2 、可以虚拟出其他发行版的 linux 环境,看起来就像个小虚拟机一样。这样我只要对外暴露服务就行了,不用管我到底需要用啥样的服务器,反正到时候直接把容器部署上去就行了。 3 、便于写脚本、快速增加节点。 4 、分发起来也容易。 5 、它有一点 git 的思想,有这种“ commit ”、“ tag ”等概念,习惯了之后可以当成类似虚拟机快照一样的功能,也很方便。 当然肯定也有对应的代价就是了。所以对于不需要隔离、不需要批量部署的情况下,根本用不着 docker 。有些东西十年都不会重新部署一次,有些东西随时可能加节点。 |
16
znoodl 2015-11-26 22:49:19 +08:00 via iPhone
你发在云计算节点,和 Docker 也很大关系,但是你一个小网站和云计算有什么关系?
有,你的网站是搭建在别人部署好的云上面的…… |
17
janxin 2015-11-26 23:19:00 +08:00 via iPhone
抛开场景谈价值不是耍流氓嘛…
|
18
slixurd 2015-11-26 23:21:59 +08:00
我司用 Docker 作发布前的编译隔离环境,编译结束后再把文件 SSH 到线上服务器上部署。
|
19
i1173081 2015-11-27 00:33:11 +08:00
@nekoyaki 这里说的运行其他发行版是不是只运行了其它发行版的用户态程序啊,内核还是共享吧。
还有网络也可以单独搞一套是吧,我看了一下,这个东西是不是相当于利用 namespace cgroup 等东西成为一个增强的 chroot 呢。 另外 go 实现的 docker 用源码安装挺不方便的,有 C 实现的版本么,只用基本功能就行。 |
21
vietor 2015-11-27 07:49:06 +08:00 via Android
新技术更新太快,先弄需求再弄环境。 docker 这东西的初衷是一种 VM 的改进系统,场景与 VM 重合。在 VM 上再起 docker 是一种 YY 。
|
23
vitovan 2015-11-27 13:48:08 +08:00 via Android
我这有一个典型的应用场景: PhantomJS
这厮的 Linux 版本没有提供二进制包,需要自行编译。 于是我下载了将近一个多 G 的源码进行编译,在我本机上编译了近一个小时。 放到生产服务器上,不能用,依赖包有问题。 于是放到服务器上编译,一觉醒来被 Kernel 杀了。 后来上了 Docker ,一个命令,就装好了。 |