docker出来也有很多年了,但用到的公司其实并不是很多,docker对传统开发是一个革命性的,几乎颠覆了之前我们传统的开发方法和部署模式,而大多
公司保守起见或不到万不得已基本上不会去变更现有模式。
1. 应用依赖多,系统参数配置杂,部署起来麻烦
这句话怎么理解? 拿真实案例说,比如你可以看一下我之前写的一篇安装elasticsearch的博文: https://www.cnblogs.com/huangxincheng/p/9120028.html。
《1》 因elasticsearch是java写的,所以你需要安装java运行环境,然后屁颠屁颠的去官网下载,接下来还要配置 java_home 变量等等。
《2》 es5.0之后的启动不能使用root账号,你不得不新建用户和用户组,烦。
《3》 然后你启动可能会遇到:os::commit_memory(0x00000000a9990000, 1449590784, 0) failed; error='Cannot allocate memory' 内存不足的情况。
《4》 然后就是文件句柄不足:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] 的异常。
《5》 然后就是虚拟内存不足:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 的异常。
其实我的初衷就是想安装下es,结果来了这么多的坑,烦不胜烦,要解决上面这些问题,我只需要9行代码搞定,你信不?可以说秒级部署。
1 version: '3.0' 2 services: 3 elasticsearch: 4 image: elasticsearch:5.6.14 5 ports: 6 - 9200:9200 7 volumes: 8 - "/data/elastic/store:/usr/share/elasticsearch/data" 9 - "/data/elastic/logs:/usr/share/elasticsearch/logs"