我有一个运行 python 脚本的 docker 容器:等待输入请求并相应地处理数据。
由于我使用 docker 进行开发,因此我希望,每当我更改该 python 文件的源代码(在我的机器中,而不是容器中)时,容器将停止 python 脚本并使用新代码重新启动它。因为现在我必须手动停止容器并重新启动它。我也可以监视我这边的文件更改(而不是在容器内),但我想避免这种情况并在容器本身内进行。
我正在使用 docker-compose 的volumes
选项在我的 FS 和容器之间共享源代码。
为了监控文件更改,我一直在尝试使用watchdog python 模块中的watchmedo shell 实用程序。我只是有一个奇怪的问题,我无法注意到该 python 源文件的文件更改,除非我从容器内部而不是在我的本地 FS 中编辑它,即使它们是使用该选项安装的。volumes
我觉得这与 docker 的工作方式有关,也可能与体积有关。我一直试图在网上阅读它,但没有得到太多运气。有任何想法吗?我完全被困住了!
编辑:这是一个更好地解释它的 gif。顶部到窗格连接到同一个容器,底部两个连接到我的本地计算机。所有窗格都指向同一个文件夹。