
我們希望對正在運行的 GAE 應用程式進行快速更改,以啟用查詢日誌記錄以追蹤錯誤。
透過 SSH 連接到正在運行的實例,由於使用了 docker,因此很難找到應用程式程式碼的儲存位置。
儘管這些說明允許您在容器實例中啟動 shell,vim
或類似的容器在容器中不可用,因此無法修改程式碼。
以下是我們如何找到該應用程式的方法。
答案1
在 GAE 控制台中,前往側邊選單並選擇App Engine -> Instances
如果您不嘗試連接到預設應用程序,請變更左上角的下拉清單。
然後點選 SSH 按鈕。
Docker 映像儲存在/var/lib/docker/overlay2
但有一個很多其中。
要查找包含您的應用程式的文件,請選擇您的專案唯一的文件名,例如我們選擇messageProcessor.js
然後在所有圖像中搜尋它。
(SSH 使用者沒有權限,因此您需要 sudo 才能在該資料夾上執行 find)
sudo find /var/lib/docker/overlay2 -name messageProcessor.js
希望您只得到一個結果,如下所示:
/var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/jobs/messageProcessor.js
現在您知道在哪裡可以找到您的應用程序,您可以編輯文件:
sudo vi /var/lib/docker/overlay2/14b22c856283a3231a55c79f54d298acb9750fc886037533ef830acf55a10116/merged/app/some/file/in/my/app.js
然後重新啟動您的應用程式以使更改生效
# ps -ef | grep node
root 11152 11151 0 Sep13 ? 00:00:00 node /app/index.js
# sudo kill <the pid of your process>