现在,我的应用程序的多个组件位于同一个文件夹中,并与 docker-compose 链接在一起
这在开发中非常有效,但当我想推向生产时,它有点模糊。如果我保留这个结构,我不能只使用 dockerhub 来托管我的图像,因为链接它们的 docker-compose 将丢失。如果我使用 git 来拉取我的 docker-compose,那么 dockerhub 的意义何在?为什么不直接克隆我的整个存储库并每次运行docker-compose up
?
我也可以将每个组件单独存储在单独的 github 存储库中,当推送到 master 时将它们推送到 dockerhub。然后,只需将它们从集线器与 dockercompose 组合起来即可。这似乎也不太理想,因为必须克隆并推送到几个不同的存储库才能做出影响系统的更改。
你是怎么做到的?
最佳答案
我有两部分:源代码和配置文件(docker 文件、docker-compose 文件...)
我将 Dockerfile 和 docker-compose 放在与您类似的结构的文件夹中,并将其推送到 git 存储库。对于源代码(和其他数据),我必须手动管理它,使用单独的 git 存储库,以便源代码在每次需要更新时进行推送和拉取。
小心生产服务器,只更新一小部分而不是整个服务器。
关于docker - 如何构建我的 Docker 项目以便于部署?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36901706/