擴充功能中繼資料
目錄
metadata.json 檔案
metadata.json
檔案是擴充功能的進入點。它包含擴充功能的中繼資料,例如名稱、版本和說明。它也包含建置和執行擴充功能所需的資訊。Docker 擴充功能的映像檔必須在其檔案系統的根目錄包含 metadata.json
檔案。
metadata.json
檔案的格式必須是
{
"icon": "extension-icon.svg",
"ui": ...
"vm": ...
"host": ...
}
ui
、vm
和 host
章節是選擇性的,取決於指定的擴充功能提供什麼。它們描述要安裝的擴充功能內容。
UI 章節
ui
章節定義新增至 Docker Desktop 儀表板的新分頁。它遵循以下格式
"ui":{
"dashboard-tab":
{
"title":"MyTitle",
"root":"/ui",
"src":"index.html"
}
}
root
指定 UI 程式碼在擴充功能映像檔檔案系統中的資料夾。 src
指定應在擴充功能分頁中載入的進入點。
未來將提供其他 UI 擴充點。
VM 章節
vm
章節定義在 Desktop VM 內執行的後端服務。它必須定義 image
或 docker-compose.yaml
檔案,以指定要在 Desktop VM 中執行的服務。
"vm": {
"image":"${DESKTOP_PLUGIN_IMAGE}"
},
當您使用 image
時,會為擴充功能產生預設的 compose 檔案。
${DESKTOP_PLUGIN_IMAGE}
是一個特定關鍵字,允許以簡單的方式參考打包擴充功能的映像檔。也可以在此處指定任何其他完整的映像檔名稱。但是,在許多情況下,使用相同的映像檔可以簡化擴充功能開發。
"vm": {
"composefile": "docker-compose.yaml"
},
例如,具有磁碟區定義的 Compose 檔案看起來像這樣
services:
myExtension:
image: ${DESKTOP_PLUGIN_IMAGE}
volumes:
- /host/path:/container/path
主機章節
host
章節定義 Docker Desktop 在主機上複製的可執行檔。
"host": {
"binaries": [
{
"darwin": [
{
"path": "/darwin/myBinary"
},
],
"windows": [
{
"path": "/windows/myBinary.exe"
},
],
"linux": [
{
"path": "/linux/myBinary"
},
]
}
]
}
binaries
定義 Docker Desktop 從擴充功能映像檔複製到主機的二進位檔清單。
path
指定映像檔檔案系統中的二進位檔路徑。Docker Desktop 負責將這些檔案複製到其自己的位置,JavaScript API 允許叫用這些二進位檔。
瞭解如何 叫用可執行檔。