gpt4 book ai didi

由多个存储库组成的 Docker 应用程序的 Git 存储库设置

转载 作者:IT老高 更新时间:2023-10-28 12:46:44 30 4
gpt4 key购买 nike

给定以下结构;

├── api/                - A PHP application, to have its own repository
├── docker/ - Docker configuration for shared containers (MySQL, Nginx)
├── docker-compose.yml - Defines all of the services
└── web-client/ - A standalone Angular application, to have its own repository

目前整个应用程序都在一个存储库中,但我希望将其拆分为单独的存储库。开发尚未开始,因此维护任何历史等都没有问题。

首先,在根级别 docker-compose 文件中定义所有服务是解决此问题的最佳方式,或者应该 apiweb -client 与自己的docker-compose 更加隔离,从而完全分开管理?如果分开,是否还有可能有一个“depends_on”另一个?

其次,管理存储库的最佳方式是什么?根级代码(docker-compose.ymldocker/)应该存在于一个存储库中,但这也取决于其他两个存储库是否存在,可能是子存储库。我为此查看了 git 子模块,但似乎父存储库必须与子存储库中的特定提交相关联,这可能会使处理多个并行功能变得困难?

最佳答案

我的建议如下:

├── api/
|___ .git
|___ Dockerfile
|___ ... api src ...
├── docker/ - Docker configuration for shared containers (MySQL, Nginx)
├── docker-compose.yml - Defines all of the services
└── web-client/
|______ .git
|______ Dockerfile
|______ ... web-client src ...

每个应用程序都应该封装它的源代码和它的 Dockerfile,两者都存在于同一个 git repo 中。

然后 docker-compose.yml 文件将使用它们,类似于:

(...)
services:
api:
build: ./api/
(...)
web-client:
build: ./web-client/

这就是我通常看到的方式。

如果你想使用多个 docker-compose 文件,你可能想看看这个:https://docs.docker.com/compose/extends/

关于由多个存储库组成的 Docker 应用程序的 Git 存储库设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49918636/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com