跳到正文

檔案 ​

開啟服務的 檔案 卡片,瀏覽執行中容器內的檔案:開啟資料夾、閱讀文字檔案、下載檔案、上傳檔案、新建資料夾、重新命名和刪除。

檔案瀏覽器作用於服務最新的執行實例,與 指令 和 終端機 卡片使用同一個通道。服務部署並執行後即可使用。

可以做什麼 ​

操作方法
瀏覽點選資料夾,使用列表上方的路徑,或者輸入路徑後點選 前往。列表顯示每一項的大小、權限(類似 ls -l)和修改時間;滑鼠懸停在權限上可以看到擁有者。
閱讀點選檔案即可顯示。文字檔案最多顯示前 256 KB;二進位制檔案只能下載。
下載檔案旁邊的下載按鈕,或者檢視器中的 下載。檔案最大 500 MB。
上傳上傳,或者把檔案拖到列表中。檔案會放進你當前檢視的資料夾。檔案最大 50 MB,一次一個。如果已有同名檔案,替換前會詢問你。
新建資料夾、重新命名新建資料夾,以及每一項旁邊的鉛筆按鈕。重新命名不會改變所在的資料夾。
刪除垃圾桶按鈕,然後點選 刪除 確認。刪除資料夾會連同其中所有內容一起刪除;刪除連結不會影響它指向的內容。刪除無法撤銷。

儲存卷與丟失的修改 ​

容器中儲存卷以外的檔案來自映像檔,每次重新部署或重啟都會還原。檔案瀏覽器會在列表上方說明這一點,並列出服務的儲存卷;在儲存卷內部時,會提示修改會被保留。儲存卷資料夾在列表中標記為 儲存卷。

檔案瀏覽器適合用來檢查服務、取出檔案,或者把資料放進儲存卷。如果要修改儲存卷以外的檔案並讓修改保留,請修改映像檔,或者在服務的 設定 分頁中新增設定檔。設定檔以唯讀方式掛載,所以無法在這裡修改。

要求 ​

容器中需要有 shell(sh)和常用的檔案工具(cat、stat、mv、rm、mkdir、wc),所有基於 Alpine、BusyBox、Debian 或 Ubuntu 的映像檔都有。distroless 或 scratch 這類極簡映像檔只包含應用本身;對於這類映像檔,檔案瀏覽器會提示映像檔中沒有 shell。檔案操作以容器的使用者身份執行,所以不以 root 執行的容器可能無法讀取或修改某些檔案。

誰可以使用 ​

成員、管理員和擁有者。觀察者完全不能開啟檔案瀏覽器,連列出檔案都不行,因為檔案中可能包含金鑰和 .env 檔案之類的機密。

上傳、下載、新建資料夾、重新命名和刪除都會記錄在團隊的稽核日誌中,包括服務和路徑。從不記錄檔案內容。

工作原理 ​

每個操作都透過控制面以類似 kubectl exec 的方式,在容器中執行一個固定的指令碼。路徑會被規範化(所以 .. 無法越過 /),並作為獨立參數傳給指令碼,從不拼接進 shell 指令,所以包含空格、引號或 $(…) 的名稱都會被當作普通名稱處理。上傳內容先流式寫入目標旁邊的臨時檔案,所有位元組到齊後才移動到位;中斷的上傳不會留下任何東西。下載以附件形式傳送,瀏覽器永遠不會把它當作網頁開啟。

與 Zeabur 無關聯。