Docker好在哪里,求介绍

sunday12345 发布于 2014/11/23 10:36
阅读 1K+
收藏 6

Docker火的不行,在OSC、Github上尤其如此,做为一开发猿,尝试过几次真心没体会到好处,列举一二,还望轻拍:

1、都说容器可方便的解决依赖,难道docker本身就不是依赖了?满地跑的CentOS5、以及6系列,跑Docker本身就要得折腾,都被无视了?2.6的内核,生产中应该还是主流吧。

2、都说容器方便移植,可真的方便吗,打包后的容器,少则两三百兆,多则G级,相比传个war包、相比easy_install,真的方便么。要是生产服务器不在本地,还跨IDC、拷贝几百兆的痛苦。还有大家都没用过什么堡垒机之类的么,要是不能访问外网如何docker build?

3、都说虚拟化安全,可事实上大部分damon的docker进程都以root权限跑着,相比最简单的chroot jail机制,没见哪里更安全啊。的确Dockerfile能指定运行用户,不过我要是不用docker,直接useradd、su不是更方便么?

4、都说docker简化部署,美好的情景是只需要几个「docker build」、「docker run」命令,一分钟即可解决所有部署难题,可你造一个Dockerfile里的apt update要运行多久么。另外,难道大家访问docker Repository很快么。我也觉的部署有点麻烦,但觉得docker也只是换成了另一种麻烦而已~

5、Dockerfile,怎么看都只是一种简单的类SQL的DSL语言,连DOS批处理都不够,能应付「部署」会遇到的那些操蛋的问题么?随便一个网络超时或者版本变迁都够折腾的吧,严重的不放心~

望高手支招~

加载中
0
haitaosoft
haitaosoft

docker正解决了 我对虚拟机提出的更高需求:

同一个物理机里的多个同系统的虚拟机,共享同一套系统文件,运行时多个系统也不再独立各占一套内存。现在的虚拟机,在这2方面,都太浪费了。

只是目前的docker还太原始,希望vmware能把它的操作模式做得与虚拟机一样,只是多一个选项:docker模式 或 虚拟机模式

sunday12345
sunday12345
这的确,我也觉的这个做的不错,aufs是很久前就有的文件系统,是docker将之真正用到了对的地方~ 但docker真的还太原始~
0
eechen
eechen
Docker是个新技术,还在2.6内核上跑就是你的问题。RHEL7(3.10)、Ubuntu14.04(3.13)都支持Docker使用到的内核特性。Docker可以很轻松的实现文件、资源、网络等隔离, 比完全虚拟化Xen、KVM等更轻量,满足的是PaaS需求。Docker不是用来打倒一切的。
eechen
eechen
回复 @sunday12345 : 我觉得应该是方便PaaS下的应用环境部署。对于个人使用而言,我还是倾向于自己编译好打个包,以后解压就能使用 http://my.oschina.net/eechen/blog/298027
sunday12345
sunday12345
PaaS的确是一种很好的场景,类似于GAE以及国内到处跑的SAE、BAE之类,但docker被宣传时说的什么方便部署还真没觉得。
sunday12345
sunday12345
其实2.6.32及以上就可以了,这个倒还好。反正只是换一种方式折腾而已,也许是我期望太高了~
0
高山流水之留恋
高山流水之留恋
技术就是这样 名词很多 本质不变...
0
Feng_Yu
Feng_Yu

说到方便部署,其实是“一次打包,处处运行”,和虚拟机的作用差不多,会比虚拟机小的多。

至于docker中央仓库慢的问题,这个没办法,党国最近屏蔽了亚马逊云加速服务,无数企业中招,包括gravatar,docker的IDC也在亚马逊上,也被波及,以前其实只要能连上,速度飞快。国内的话可以考虑用docker中文社区搭建的镜像仓库来提速: https://docker.cn/search?searchKey=

私有镜像还是自己在云端搭建一个docker私有仓库吧: https://github.com/docker/docker-registry


0
Feng_Yu
Feng_Yu
另外,所有服务全用docker去跑看似很新潮,但是并未在生产环境大规模推行,最近势头很猛的CoreOS采用了这种全新的方式管理和部署服务器,号称是未来的服务器操作系统,但是否真的是未来趋势还很难说,暂时观望。
0
jianglibo
jianglibo

谁用谁知道!比如我在单位部署了varnish反向代理,我不想重复每次的安装过程,就使用了docker,什么时候需要,只要docker run xxcompany/varnish4.

如果你想体验一下docker,请问你的机器上安装了mysql,tomcat,redis,rabbitmq类似的开发环境吗?如果有,你先dockerlize它,如果你在多台机器上工作,或者更换电脑时,你马上就会体会到好处了。

sunday12345
sunday12345
一般我尽量让系统少依赖一些组件,另外这些组件的配置及安装并不复杂; 再另外,即使复杂,也应考虑自动化的部署与安装,我总感觉docker只是换了一种方式复杂,很多东西不够透明也不够放心~
0
jQer
jQer

说的不错,至少目前这东西非常难用,在难用的一堆东西包了一层难用的外壳,说你不许要再为那些难用的东西辛苦了。现在,你需要为新的难用的外壳辛苦。


说明文档几十页,就足够说明这东西有多虚。

0
orangleliu
orangleliu
从代码部署到应用部署。
0
88250
88250

如果你做过 PaaS 实现就明白了。

0
jianglibo
jianglibo

引用来自“jianglibo”的评论

谁用谁知道!比如我在单位部署了varnish反向代理,我不想重复每次的安装过程,就使用了docker,什么时候需要,只要docker run xxcompany/varnish4.

如果你想体验一下docker,请问你的机器上安装了mysql,tomcat,redis,rabbitmq类似的开发环境吗?如果有,你先dockerlize它,如果你在多台机器上工作,或者更换电脑时,你马上就会体会到好处了。

回复 @sunday12345 : 正是docker为自动化部署提供了极大的便利,先从你自己的开发环境的docker化开始吧,你一定认同docker的理念。从我自身来说,根据自己的技术选择,从一个基本的docker file开始,拥有一系列的docker image,比如nginx,phpfpm,clojure-ring,nodejs,mysql,redis等容器,这些容器相互组合就可以满足你所有的要求。由于docker image是git方式存储,实际部署的时候数据量并不大。
返回顶部
顶部