簡體   English   中英

如何從 vscode 遠程容器查看 docker 日志?

[英]How to view docker logs from vscode remote container?

我目前使用vscode的遠程容器擴展了.devcontainer.json文件指向我的docker-compose.yml文件。

一切正常,我的 docker-compose start 命令開始運行(啟動 Web 服務器),但我還沒有找到一種方法來快速查看來自 Web 服務器的日志。 有沒有人找到一種方法來在 vscode 連接到遠程容器后自動查看 docker 日志輸出?

我知道作為替代方案,我可以刪除容器的啟動命令,並且在 vscode 連接后,手動打開終端並啟動 Web 服務器,但我希望有更簡單的方法。

提前致謝!

我沒有使用遠程容器,只是本地一次,所以不確定這是否適用,但對於本地運行的容器,您可以轉到“Doc​​ker”選項卡(您需要安裝官方的 Microsoft Docker VS Code Plugin ),您可以在其中看到你正在運行的容器。 只需右鍵單擊要查看其日志的容器,然后選擇“查看日志”:

在此處輸入圖片說明

您將在終端窗格中看到一個新的“任務”,它將顯示您的所有 docker 日志:

在此處輸入圖片說明

這個問題真的很老,我不確定這個選項此時是否可用,但只需打開命令面板(F1)並選擇/找到“遠程容器:顯示日志”。

您現在可以在終端中看到容器的日志。

我使用 VS Code 的內置 終端來查看與 VS Code 連接的 docker 容器的實時日志。

當 VS Code 連接到 docker 容器時,您可以使用View > Terminal菜單選項打開內置終端。 您應該會看到一個標記為Dev Containers的現有終端。

開發容器

也許這太晚了? 但對於其他人,我就是這樣做的。

首先,我沒有將內容記錄到stdout ,而是將所有輸出重定向到一個文件中,然后使用tail命令將輸出傳輸到終端。

例如,我要去這里:

 logFile, err := os.OpenFile(logFileName, os.O_WRONLY|os.O_CREATE, 0755) if err != nil { log.Fatal("Fail to open the log file") } logrus.SetOutput(logFile)

完成后,我打開終端並運行以下命令:

$ tail -f {logFileName}


我猜這是一種方法,但我當然希望 VSCode 能提出更好的解決方案。

您可以打開命令面板並搜索:遠程資源管理器:專注於容器視圖。 您應該會看到一個容器側邊欄,如果您右鍵單擊您的容器,您可以查看日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM