django - 在 Docker 容器中运行时切换 Git 分支会导致权限错误
问题描述
我在 Windows 10 上运行 Docker 19 进行开发。容器卷直接绑定到 Git 存储库文件夹并为该文件夹中的 Django 应用程序提供服务。我使用 Mingw-w64 来运行 Git(又名 Git Bash)。
有时,我会执行以下操作(或类似以下的操作):
- 请求 Docker 容器提供的页面。(例如,复制错误。)
- 切换到不同的分支。
- 从新分支请求 Docker 容器提供的页面。
- 切换到不同的分支。
在最后一个分支切换时,Git 会冻结一段时间,然后对特定文件说权限被拒绝。该文件是两个分支之间的差异,因此 Git 正在尝试更改它。
Process Explorer 告诉我这些文件已被该system
进程使用,因此让它释放的唯一方法是重新启动。
我的直觉告诉我 Django Web 进程 ( manage.py runserver
) 可能会锁定文件,直到请求连接完全关闭并且可能作为已建立的连接徘徊。
我的直觉对吗?如果是……为什么锁由system
进程而不是 Docker 持有?在我进行分支更改之前有什么需要检查的吗?有什么办法可以完全防止它发生吗?
解决方案
推荐阅读
- javascript - 更改 SAPUI5 中复制的数据时,原始模型正在更改
- arrays - 如何快速从二维数组中删除特定元素
- java - How do I start working with Balana in Maven project
- regex - 如何在递归正则表达式中获得匹配的组?
- python - 如果变量在被另一个函数“初始化”之前被访问,则引发异常
- react-native - React Native View Overlay excluding the image portion
- python - PySpark - Adding new column in DataFrame
- java - How to take input using Scanner in java?
- mysql - MySQL - 确定运动中物体的位置
- c# - 在下拉列表中仅显示上个月的名称