技术解析

大家帮我分析下这种情况该不该用 docker?
0
2021-07-15 11:13:01
idczone
需要将客户端部署到Centos的机器上,客户端包括:
1. C++开发的分布式文件系统的客户端,有很多依赖库需要自己去编译
2. Python开发的网站,配置文件比较多,需要装一些python package和mysql
3. 一些配置文件,和Python定时任务的脚本

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

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

大家有没有什么好工具推荐?
折腾了两三天, 可以先跑通http://yeasy.gitbooks.io/docker_practice/content/,然后在跑通自动化部署案http://segmentfault.com/blog/yexiaobai/1190000000483061。环境不一样遇到的问题也不同,多折腾吧。

那个教程我已经看了,发现docker没办法把当前正在运行的os打包成IMG,制作IMG还只能安装YUM中有的东西,想导入自己的库都很难。
跑应用更蛋疼,还得向外面指定端口,docker有没有什么模式能直接run在当前的shell中?

如果是线上机器,出于性能极致需求,不推荐。
这种情况下是写好部署脚本,基本上针对一种类型的新机器(比如 Centos),然后一运行完这个脚本,绝大部分事情已经做完,处于可部署/上线状态。
Docker适用另一些需求,比如内部部署 wordpress、wiki,这些做成 Docker 镜像,如果那天要复制、迁移,都是分分钟的事情。

导入自己的库不是可以用COPY命令吗?

写脚本,让他们安装指定的系统不就行了。

配置文件可以直接复制,基本上/etc复制就好了
自己编译的库…………也可以复制吧……,在依赖一样的前提下,别随便升级就行了。
另外可以轮流部署啊,每次下线一台,做熟了应该还是很快的。
重点是习惯要好,开发时干了什么全都要有记录。同时升级前先备份,不行就rollback

是准备在新机器上编译好,能复制的就的直接copy,然后再每台配置一下。supervisord和mysql,nginx这些也能直接复制吗?

我相信是可以的,但要保证基础一样,也就是装的版本都一样。

库相同是可以直接互换的,建议你先编译一个小的试试

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服