求教,这样使用 docker 是否靠谱。

2015-02-26 10:34:01 +08:00
 jarlyyn
由于业务需要,公司目前需要维护20多个vps。系统环境基本一致,以lamp为主。由于服务器分布在不同的服务商处(阿里最多杭州15个,然后是香港5个,l记大概5个,某小供应商处3个),外加公司内网,我自己的笔记本,开发的测试环境,以及部分客户需要代维护的服务器,环境从centos 6.1 6.3 6.5,到debian 6 7 ,ubuntu不等,vps 还不能升内核,公司运维还要离职,最近的安全升级升的我欲仙欲死。

目前准备自己配置一套centos 7(虽然我是debian党,但毕竟debian 8快发布了,而且 centos好招)为主的镜像,把 apache php nginx python nodejs mysql redis 等常用程序全部安装好,自启动全部关闭,通过 -v命令挂载不同的启动脚本,来实现不同的环境。然后通过git维护一套配置管理以及生成程序。
我做过测试,镜像里安装的程序再多,不运行的时候内存占用似乎也差不多?

问题1:我这情况是否是用docker比用安装脚本靠谱?
问题2:是所有程序安装在一个image挂载不同的启动脚本靠谱,还是安装在不同的image靠谱?
3579 次点击
所在节点    Docker
10 条回复
bcxx
2015-02-26 10:44:20 +08:00
问题 2: 不同的 image …… 一个 docker image 一般都不建议装太多应用的吧
jarlyyn
2015-02-26 10:50:30 +08:00
@bcxx 不建议装太多应用我能理解,但我本身的目的是统一环境,增加运维效率,不知道这样做是否会产生什么我没发现的问题
66450146
2015-02-26 10:56:48 +08:00
@jarlyyn 如果某个应用需要扩容的话可以简单启动,只需要在中心化的 discovery service 上面注册一下就能被大家访问到
jackysc
2015-02-26 10:56:53 +08:00
问题1 docker更方便,比安装脚本更靠谱
问题2 装在不同的image方便维护
webflier
2015-02-26 11:16:41 +08:00
感觉ansible 或者saltstack之类的轻量级工具更适合你的场景。
当然,用你最熟悉的是不会错的。
jarlyyn
2015-02-26 14:52:38 +08:00
@webflier
感谢您的推荐。不过看了下,和我的需求不是很一样。
我基本每个vps是跑的不同的独立网站,主要是要环境一致,而非配置文件一致。
9hills
2015-02-26 15:13:14 +08:00
没啥问题。
如果你一个image搞定全部需求,且你其他的业务都是基于此baseimage。那么这样其实挺省事的。机器上也只需要都提前pull好这个baseimage就可以了。
9hills
2015-02-26 15:14:48 +08:00
另外你这个需求,最好在『https://github.com/phusion/baseimage-docker』上继续搞。

这是典型的一个Container部署多个进程的场景。虽然官方不推荐,但是某些场景还是挺有用的。
jarlyyn
2015-02-26 18:18:20 +08:00
@9hills

谢谢推荐,不过基于ubuntu的,个人更倾向于使用debian和centos的。

另外,其实一个image安装多个程序,和一个Container部署多个进程,也是两个概念吧。每个进程用同一个image run也可以啊。

到底一个容器部署几个进程,我还在考虑。
dalang
2015-02-26 19:14:49 +08:00
我也建议你针对不同场景做多个 image,可以做一个 base image,把基本需要的应用先安装。然后基于这个 base image 为不同场景定制不同的 images。
把相应的启动脚本拆解到 docker file 里,这样你能方便的管理不同 docker images。

docker 是不推荐打造一个大而全的 image 的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/172858

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX