如何使用 docker 和 git 实施我的项目

How to implement my project with docker and git

我正在与 git 和 docker 合作,想就如何实施我的项目寻求一些建议。

该项目具有以下功能组件:

我希望能够做类似

的事情

"git拉web_scraper"

来自 docker 图片,并且只有来自网络抓取工具组件的文件。

我很确定这可以通过分支很容易地完成,但我不确定如何。

编辑 1

我的问题更倾向于 git 而不是 docker。我正在弄清楚这一点。

-prj
|  +scraper
|  +analyzer
|  +statistics

我想知道我是否应该拥有一个仅用于 prj 的 git 存储库,或者在 scraper、分析器和统计信息中初始化一个。

我很喜欢 docker,但只是希望能够在一个不错的编辑器 (sublime) 上编辑代码。

这是一个非常广泛的问题,但是从 docker 的角度来看,您可以在一个单独的文件夹中拥有任意数量的组件,每个文件夹中都有一个代表该图像的 Dockerfile零件。这是一个假设的例子:

-prj
|- base
| + Dockerfile
|- scraper
| + code
| + Dockerfile
|- analyzer
| + code
| + Dockerfile

这一切都在同一个分支中,您永远不想使用分支来维护项目的单独组件,这不是它们的设计目的。

如上所述,无论您有 1 个项目还是多个项目,都没有什么区别。这纯粹是您的个人喜好,以及您喜欢如何模块化东西的问题。从 git 的角度来看没有区别,从 docker 的角度来看也没有区别。这里唯一的限制是 docker 图像需要(目前)每个文件夹有一个 Dockerfile。

我不确定您选择的编辑器与这有什么关系,所以我感觉到您对 docker 工作流程的某些假设是不正确的。开发内容的方式是更改图像的源代码(使用您想要的任何编辑器),然后重建该图像 (docker build)。测试你 docker run 那张图片。 fig(即将重命名为 docker-compose)等工具对 build/test 循环有很大帮助。