[英]several development container environment with git
我正在使用 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
在docker-compose.yml
,我分別創建了 2 個服務api
和client
,並安裝了它們對應的子模塊文件夾。
然后我可以在 2 個單獨的 windows 中“打開容器中的文件夾...”,除了 git 之外,一切都很好。 我需要能夠進行更改,提交它們更改分支...從容器但由於只安裝了子模塊文件夾,我根本不能使用 git。
在這種情況下我有什么選擇? 如何在沒有父文件夾的情況下從容器中修改子模塊?
最簡單的解決方案是在您的根項目目錄中創建一個 single.devcontainer 目錄,並在其中創建一個新的 docker-compose.yml (或者如果可能的話擴展現有的。
├── .git
├── .devcontainer
│ ├── devcontainer.json
│ ├── docker-compose-extend.yml # either extend current docker-compose file
│ ├── docker-compose.yml # or create a new one
│ └── Dockerfile # your new docker-compose.yml can also use different Dockerfile(s)
├── @myapi-submodule (django python API)
└── @myclient-submodule (react js client)
devcontainer.json
文件現在應該使用新的 docker-compose 文件。 您還應該考慮將 .devcontainer 目錄添加到gitignore
我找到了解決此問題的解決方法,您需要從主存儲庫中添加 .git 文件夾作為掛載,如下所示:
devcontainer.json:
{
"name": "Node.js",
...
"mounts": [
"source=${localWorkspaceFolder}/../.git,target=/workspaces/.git,type=bind,consistency=cached"
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.