環境是MAC,上面運行了一個docker容器,在容器里,執行python manage.py runserver 0.0.0.0:8000來運行django,并監控8000埠。
docker創建容器使用的命令:
docker run -d -v ~/code:/home/work/code -p 8197:8000 code
所以,在MAC上、虛擬機上以及docker容器中,同時存在一個code目錄,里面代碼是一樣的,而django的manage.py也在code里面。
當我在MAC上修改了django的views.py檔案后,虛擬機、docker容器中對應的views.py檔案也發生了變化,表示修改確實在容器中生效了。
但問題是,訪問django回傳的結果并沒有變化,還是修改前的views.py呈現的樣子。嘗試過重新運行python manage.py runserver 0.0.0.0:8000來重啟django、重新創建容器、重啟容器、重啟虛擬機等手段,都不管用。
目前能想到的懷疑點如下:
1. docker有快取機制,因為使用的是同樣的images、同樣的映射目錄等,所以認為可以直接從快取中取資料,所以運行時直接運行的快取中的代碼。
2. django有自己的虛擬機或快取機制,雖然修改了views.py,但并沒有重新加載進去。
求大神幫分析一下倒底哪的原因,有什么快捷簡便的方法來解決這問題?多謝~~~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/80940.html
標籤:Docker
上一篇:內外網資料庫資料同步問題
下一篇:hadoop 平臺搭建
