问题描述
环境是MAC,上面运行了一个docker容器,在容器里,执行pythonmanage.pyrunserver0.0.0.0:8000来运行django,并监控8000端口。docker创建容器使用的命令:dockerrun-d-v~/code:/home/work/code-p8197:8000code所以,在MAC上、虚拟机上以及docker容器中,同时存在一个code目录,里面代码是一样的,而django的manage.py也在code里面。当我在MAC上修改了django的views.py文件后,虚拟机、docker容器中对应的views.py文件也发生了变化,表示修改确实在容器中生效了。但问题是,访问django返回的结果并没有变化,还是修改前的views.py呈现的样子。尝试过重新运行pythonmanage.pyrunserver0.0.0.0:8000来重启django、重新创建容器、重启容器、重启虚拟机等手段,都不管用。目前能想到的怀疑点如下:1.docker有缓存机制,因为使用的是同样的images、同样的映射目录等,所以认为可以直接从缓存中取数据,所以运行时直接运行的缓存中的代码。2.django有自己的虚拟机或缓存机制,虽然修改了views.py,但并没有重新加载进去。求大神帮分析一下倒底哪的原因,有什么快捷简便的方法来解决这问题?多谢~~~
时间: 2024-09-20 04:01:01