几种使用git的开发容器环境

grl*_*rll 5 git git-submodules docker docker-compose visual-studio-code

我正在使用 vs-code devcontainer功能创建以下设置的容器化开发环境:

root_folder (main git repository)
|- .git
|- docker-compose.yml
|- @myapi-submodule (django python API)
  |- .devcontainer.json
|- @myclient-submodule (react js client)
  |- .devcontainer.json
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml我分别创建2个服务apiclient挂载它们相应的子模块文件夹。

然后我可以在 2 个单独的窗口中“打开容器中的文件夹...”,除了 git 之外,一切都运行良好。我需要能够进行更改,从容器提交更改分支...,但由于仅安装了子模块文件夹,所以我根本无法使用 git。

在这种情况下我有什么选择?如何在没有父文件夹的情况下从容器修改子模块?

fil*_*ilt 0

最简单的解决方案是在根项目目录中创建一个 .devcontainer 目录,并在其中创建一个新的 docker-compose.yml (或者如果可能的话扩展现有的目录)。

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .git\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .devcontainer\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 devcontainer.json\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 docker-compose-extend.yml # either extend current docker-compose file\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 docker-compose.yml # or create a new one\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Dockerfile # your new docker-compose.yml can also use different Dockerfile(s)\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 @myapi-submodule (django python API)\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 @myclient-submodule (react js client)\n
Run Code Online (Sandbox Code Playgroud)\n

devcontainer.json文件现在应该使用新的 docker-compose 文件。您还应该考虑将 .devcontainer 目录添加到gitignore

\n