將 Django 映象推送到登錄檔
在本教程中,您將本地構建的 Python Django 應用程式容器映象部署到 Azure 容器登錄檔 (ACR) 或 Docker Hub。
建立容器登錄檔
建立容器登錄檔以推送映象。有關如何進行身份驗證和使用登錄檔的更多資訊,請參閱使用容器登錄檔。
確保您建立的登錄檔端點在 VS Code 的容器瀏覽器中的登錄檔下可見
Django 應用程式設定
-
在您的 Django 專案的
settings.py
檔案中,修改ALLOWED_HOSTS
列表以包含您打算部署應用程式的根 URL。例如,以下程式碼假設部署到名為“vsdocs-django-sample-container”的 Azure 應用服務 (azurewebsites.net)ALLOWED_HOSTS = [ # Example host name only; customize to your specific host "vsdocs-django-sample-container.azurewebsites.net" ]
如果沒有此條目,您將在部署後看到“DisallowedHost”訊息,提示您將網站域新增到
ALLOWED_HOSTS
。這將需要您再次重建、推送和重新部署映象。 -
在命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))上,選擇容器映象:構建映象...以使用新設定重建映象。
提示:如果您想在多個託管服務上測試生產環境中的映象,您只需在 ALLOWED_HOSTS 中輸入
"*"
。
將映象推送到登錄檔
宣告ALLOWED_HOSTS
後,下一步是將 Django 映象推送到容器登錄檔
-
開啟命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))並選擇容器映象:推送...。
-
選擇您剛剛構建的映象以推送到登錄檔。
-
選擇您建立的登錄檔以推送到。這將有助於正確標記映象。
-
一旦選擇了登錄檔和完整的標籤,映象將被推送。上傳進度將顯示在終端視窗中。
-
完成後,展開容器瀏覽器中的登錄檔 > Azure(或DockerHub)節點,然後展開登錄檔和映象名稱以檢視確切的映象。(您可能需要重新整理容器瀏覽器。)
提示:第一次推送映象時,您會看到 VS Code 上傳構成映象的每個層。然而,隨後的推送操作將只更新從第一個已更改的層開始的層。由於您的應用程式程式碼通常是變化最頻繁的部分,這就是為什麼應用程式程式碼通常在 Dockerfile 的最後幾行中複製的原因。要檢視此內部迴圈的實際操作,請對您的程式碼進行少量更改,重建映象,然後再次推送到登錄檔。
現在您已將映象推送到登錄檔,您就可以將其部署到任何支援容器的雲服務。有關部署到 Azure 應用服務的詳細資訊,請參閱部署容器。