大家帮我分析下这种情况该不该用 docker?

2014-11-19 21:25:05 +08:00
 fripSide
需要将客户端部署到Centos的机器上,客户端包括:
1. C++开发的分布式文件系统的客户端,有很多依赖库需要自己去编译
2. Python开发的网站,配置文件比较多,需要装一些python package和mysql
3. 一些配置文件,和Python定时任务的脚本

总之,我希望能找到一个自动部署系统,把部署好客户端的机器的IMG导出,然后像往Vitrual Box里面导入镜像一样,简单粗暴的把所有机器的系统都覆盖掉。

看了很久的docker文档,发现想跑一个python web app都很难折腾起来,根本没法配置这种外部依赖多的项目。

大家有没有什么好工具推荐?
3323 次点击
所在节点    Linux
9 条回复
risker
2014-11-19 23:12:15 +08:00
fripSide
2014-11-19 23:37:58 +08:00
@risker 那个教程我已经看了,发现docker没办法把当前正在运行的os打包成IMG,制作IMG还只能安装YUM中有的东西,想导入自己的库都很难。
跑应用更蛋疼,还得向外面指定端口,docker有没有什么模式能直接run在当前的shell中?
cloudzhou
2014-11-20 00:02:55 +08:00
如果是线上机器,出于性能极致需求,不推荐。
这种情况下是写好部署脚本,基本上针对一种类型的新机器(比如 Centos),然后一运行完这个脚本,绝大部分事情已经做完,处于可部署/上线状态。
Docker适用另一些需求,比如内部部署 wordpress、wiki,这些做成 Docker 镜像,如果那天要复制、迁移,都是分分钟的事情。
gcweb
2014-11-20 00:47:52 +08:00
@fripSide 导入自己的库不是可以用COPY命令吗?
kslr
2014-11-20 09:07:22 +08:00
写脚本,让他们安装指定的系统不就行了。
ryd994
2014-11-20 10:27:52 +08:00
配置文件可以直接复制,基本上/etc复制就好了
自己编译的库…………也可以复制吧……,在依赖一样的前提下,别随便升级就行了。
另外可以轮流部署啊,每次下线一台,做熟了应该还是很快的。
重点是习惯要好,开发时干了什么全都要有记录。同时升级前先备份,不行就rollback
fripSide
2014-11-21 15:05:52 +08:00
@ryd994 是准备在新机器上编译好,能复制的就的直接copy,然后再每台配置一下。supervisord和mysql,nginx这些也能直接复制吗?
ryd994
2014-11-22 01:26:46 +08:00
@fripSide 我相信是可以的,但要保证基础一样,也就是装的版本都一样。
ryd994
2014-11-22 01:27:53 +08:00
库相同是可以直接互换的,建议你先编译一个小的试试

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

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

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

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

© 2021 V2EX