如何构建我的 docker 项目以便于部署?

Dyl*_*ess 6 continuous-integration docker dockerhub docker-compose

现在我在同一个文件夹中有我的应用程序的多个组件,这些组件通过 docker-compose 链接在一起 在此处输入图片说明

这在开发中非常有效,但是当我想推动生产时它有点模糊。如果我保持这种结构,我就不能只使用 dockerhub 来托管我的图像,因为链接它们的 docker-compose 将丢失。如果我使用 git 来拉下我的 docker-compose,那么 dockerhub 的意义何在?为什么不克隆我的整个 repo 并docker-compose up每次都运行?

我也可以将每个组件分别存储在单独的 github 存储库中,在推送到 master 时将它们推送到 dockerhub。然后,只需将它们从集线器与 dockercompose 结合起来。这似乎也不太理想,因为必须克隆并推送到几个不同的存储库才能进行影响系统的更改。

你怎么做呢?

Fin*_*inn 2

我有两部分:源代码和配置文件(docker 文件、docker-compose 文件...)

我将 Dockerfile 和 docker-compose 放在一个具有像您这样的结构的文件夹中,并将其推送到 git 存储库。对于源代码(和其他数据),我必须手动管理它,使用单独的 git 存储库,以便源代码在每次需要更新时进行推送和拉取。

小心生产服务器,只更新一小部分而不是整个服务器。