共用方式為


使用 [容器] 視窗

您可以使用 [容器] 視窗來檢視裝載您的應用程式的容器內發生什麼情況。 如果您習慣使用命令提示字元來執行 Docker 命令以檢視及診斷容器的狀況,此視窗提供更方便的方式來監視您的容器,而不需要離開 Visual Studio IDE。

您也可以使用 [容器] 視窗來檢視容器映像的相關資訊。

必要條件

檢視您的容器的相關資訊

啟動容器化 .NET 專案時,[容器] 視窗會自動開啟。 若要隨時在 Visual Studio 中檢視您的容器,請使用 Ctrl+Q 來啟動 Visual Studio 搜尋方塊,然後輸入 Containers 並選擇第一個項目。 您也可以從主功能表開啟 [容器] 視窗。 使用功能表路徑 [檢視] > [其他視窗] > [容器]

Visual Studio 中 [容器] 視窗的螢幕擷取畫面,其中在左窗格中選取了一個容器,並在右窗格中選取了 [環境] 索引標籤。

Visual Studio 中 [容器] 視窗的螢幕擷取畫面,其中在左窗格中選取了一個容器,並在右窗格中選取了 [環境] 索引標籤。

在左側,您會看到本機電腦上的容器清單。 與方案相關聯的容器會顯示在 [方案容器] 底下。 在右側,您會看到具有 [環境]、[標籤]、[連接埠]、[磁碟區]、[記錄] 和 [檔案] 索引標籤的窗格。

提示

您可以輕鬆地自訂 [容器] 工具視窗固定在 Visual Studio 中的位置。 請參閱在 Visual Studio 中自訂視窗配置。 依預設,當偵錯工具執行時,[容器] 視窗會隨著 [監看式] 視窗固定。

如果您使用 Docker Compose 和 Visual Studio 2022 版本 17.7 或更新版本,您會看到方案及其 Docker Compose 專案的節點樹狀目錄,以及方案的父節點和每個專案的子節點。

顯示 [容器] 視窗中 Docker Compose 節點的螢幕擷取畫面。

檢視環境變數

[環境] 索引標籤會顯示容器中的環境變數。 針對應用程式的容器,您可以使用許多方式來設定這些變數,例如,在 Dockerfile、.env 檔案中,或在使用 Docker 命令啟動容器時使用 -e 選項。

Visual Studio 中 [容器] 視窗的螢幕擷取畫面,其中顯示容器的環境變數。

Visual Studio 中 [容器] 視窗的螢幕擷取畫面,其中顯示容器的環境變數。

注意

對環境變數的任何變更都不會即時反映。 同時,此索引標籤中的環境變數是容器上的系統內容變數,而且不會反映應用程式本機的使用者環境變數。

檢視標籤

[標籤] 索引標籤會顯示容器的標籤。 標籤是在 Docker 物件上設定自訂中繼資料的一種方式。 某些標籤是由 Visual Studio 自動設定。

Visual Studio 中 [容器] 視窗的螢幕擷取畫面,其中顯示 [標籤] 索引標籤。

Visual Studio 中 [容器] 視窗的螢幕擷取畫面,其中顯示 [標籤] 索引標籤。

檢視連接埠對應

在 [連接埠] 索引標籤上,您可以檢查對您的容器生效的連接埠對應。

[容器] 視窗中 [連接埠] 索引標籤的螢幕擷取畫面。

[容器] 視窗中 [連接埠] 索引標籤的螢幕擷取畫面。

已知連接埠會連結,因此如果連接埠上有可用的內容,您可以按一下連結來開啟瀏覽器。

檢視磁碟區

[磁碟區] 索引標籤會顯示容器上的磁碟區 (掛接的檔案系統節點)。

[容器] 視窗中 [磁碟區] 索引標籤的螢幕擷取畫面。

[容器] 視窗中 [磁碟區] 索引標籤的螢幕擷取畫面。

檢視記錄

[記錄] 索引標籤會顯示 docker logs 命令的結果。 依預設,索引標籤會顯示容器上的 stdout 和 stderr 資料流,但您可以設定輸出。 如需詳細資料,請參閱 Docker 記錄。 依預設,[記錄] 索引標籤會串流記錄,但您可以選擇索引標籤上的 [串流] 按鈕來暫停串流。如果您再次選取 [串流],串流會從離開的位置繼續。

[容器] 視窗中 [記錄] 索引標籤的螢幕擷取畫面。

[容器] 視窗中 [記錄] 索引標籤的螢幕擷取畫面。

若要清除記錄,請使用 [記錄] 索引標籤上的 [清除] 按鈕。若要取得所有記錄,請使用 [重新整理] 按鈕。

注意

當您使用 Windows 容器執行但未偵錯時,Visual Studio 會自動將 stdout 和 stderr 重新導向至 [輸出] 視窗,因此從 Visual Studio 使用 Ctrl+F5 啟動的 Windows 容器將不會在此索引標籤中顯示記錄;請改用 [輸出] 視窗。

如果您使用 Docker Compose 搭配 Visual Studio 2022 版本 17.7 或更新版本,您可以選擇個別檢視每個容器的記錄,或交錯成單一輸出資料流。 如果您選取方案的父節點,您會看到來自所有 Compose 專案的交錯記錄。 每一行的第一個資料行會顯示產生該行輸出的容器。 如果您只想要查看一個容器本身的記錄,請選取該特定專案的節點。

顯示 [容器] 視窗的 [記錄] 索引標籤中交錯記錄的螢幕擷取畫面。

檢視檔案系統

在 [檔案] 索引標籤上,您可以檢視容器的檔案系統,包括包含您專案的應用程式資料夾。

[容器] 視窗中 [檔案] 索引標籤的螢幕擷取畫面。

[容器] 視窗中 [檔案] 索引標籤的螢幕擷取畫面。

若要在 Visual Studio 中開啟檔案,請瀏覽至檔案並按兩下,或以滑鼠右鍵按一下並選擇 [開啟]。 Visual Studio 以唯讀模式開啟檔案。

在 Visual Studio 中開啟以供檢視的檔案的螢幕擷取畫面。

在 Visual Studio 中開啟以供檢視的檔案的螢幕擷取畫面。

使用 [檔案] 索引標籤,您可以檢視應用程式記錄檔,例如您的容器檔案系統中的 Internet Information Services (IIS) 記錄檔、設定檔和其他內容檔案。

在 Visual Studio 2022 版本 17.7 或更新版本中,以 .NET 8 或更新版本為目標時,Dockerfile 可能包含 USER app 命令,其指定以一般使用者權限執行應用程式。 [檔案] 索引標籤也會使用這些權限,因此如果這些資料夾設定為需要提高的權限才能檢視,您可能無法檢視某些資料夾。

啟動、停止和移除容器

依預設,[容器] 視窗會顯示電腦上 Docker 管理的所有容器。 您可以使用工具列按鈕來啟動、停止或移除 (刪除) 您不再需要的容器。 此清單會在建立或移除容器時動態更新。

若要選取多個容器,例如,若要一次移除多個容器,請使用 Ctrl+Click。 如果您嘗試啟動超過 10 個容器,則會提示您確認。 如有需要,您可以停用確認提示。

在執行中的容器中開啟終端機視窗

您可以使用 [容器] 視窗中的 [開啟終端機視窗] 按鈕,在容器中開啟終端機視窗 (命令提示字元或互動式殼層)。

在 [容器] 視窗中 [開啟終端機視窗] 的螢幕擷取畫面。

在 [容器] 視窗中 [開啟終端機視窗] 的螢幕擷取畫面。

針對 Windows 容器,Windows 命令提示字元隨即開啟。 針對 Linux 容器,它會使用 Bash 殼層開啟視窗。

Bash 視窗的螢幕擷取畫面。

Bash 視窗的螢幕擷取畫面。

如果您以 .NET 8 為目標,Dockerfile 可以指定 USER app 命令,這表示您的應用程式會以一般使用者權限執行,而不是提高的權限。 如果您以 .NET 8 或更新版本為目標,Visual Studio 2022 版本 17.7 和更新版本中所產生的 Dockerfile 會包含此項目。 終端機會以 Dockerfile 中指定的使用者身分開啟 (針對 .NET 8 專案預設為 app),或如果沒有指定任何使用者,則會以 root 使用者身分執行。

一般而言,終端機視窗會在 Visual Studio 外部以個別視窗形式開啟。 如果您想要將命令列環境整合至 Visual Studio IDE 作為可固定的工具視窗,您可以安裝 Whack Whack 終端機

將偵錯工具連結至處理序

您可以使用 [容器] 視窗工具列上的 [連結至處理序] 按鈕,將偵錯工具連結至容器中執行的程序。 使用此按鈕時,[連結至處理序] 對話方塊隨即出現,並顯示容器中執行的可用程序。

[連結至處理序] 對話框的螢幕擷取畫面。

[連結至處理序] 對話框的螢幕擷取畫面。

您可以連結至容器中的受控程序。 若要在另一個容器中尋找程序,請使用 [尋找] 按鈕,然後在 [選取 Docker 容器] 對話方塊中選取另一個容器。

檢視映像

您也可以使用 [容器] 視窗中的 [映像] 索引標籤,在本機電腦上檢視映像。 從外部存放庫提取的映像會分組在樹狀檢視中。

顯示 [容器] 視窗的螢幕擷取畫面,其中顯示容器映像。

顯示 [容器] 視窗的螢幕擷取畫面,其中顯示容器映像。

該視窗僅會有映像適用的索引標籤:[標籤] 和 [詳細資料]。 [詳細資料] 索引標籤會顯示 JSON 格式映像的設定詳細資料。

顯示 [容器] 視窗的 [映像 > 詳細資料] 索引標籤的螢幕擷取畫面。

顯示 [容器] 視窗的 [映像 > 詳細資料] 索引標籤的螢幕擷取畫面。

若要移除映像,請以滑鼠右鍵按一下樹狀檢視中的映像,然後選擇 [移除],或選取映像,然後使用工具列上的 [移除] 按鈕。

剪除容器和映像

您可以使用 [容器] 視窗工具列上的 [剪除] 按鈕,輕鬆地移除您不再使用的容器和映像。

顯示 [剪除] 按鈕的螢幕擷取畫面。

顯示 [剪除] 按鈕的螢幕擷取畫面。

系統會要求您確認您想要移除所有未使用的容器。

選取 [映像] 索引標籤時,[剪除] 按鈕會詢問您是否要移除所有懸空的映像。 懸空映像是不再與標記映像相關聯的圖層映像。 偶爾移除它們有助於節省磁碟空間。

設定選項

您可以為各種工作,例如移除容器和映像,或一次啟動超過 10 個容器設定確認對話方塊。 您可以使用對話方塊上的核取方塊來停用每個提示。 您也可以使用 [工具] > [選項] > [容器工具] > [容器工具] 視窗的設定來啟用或停用這些選項。 請參閱設定容器工具