擴充套件元資料
目錄
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
或一個 compose.yaml
檔案,用於指定要在 Desktop VM 中執行的服務。
"vm": {
"image":"${DESKTOP_PLUGIN_IMAGE}"
},
當您使用 image
時,將為擴充套件生成一個預設的 Compose 檔案。
${DESKTOP_PLUGIN_IMAGE}
是一個特定關鍵字,可以方便地引用打包擴充套件的映象。這裡也可以指定任何其他完整的映象名稱。但是,在許多情況下,使用相同的映象可以簡化擴充套件開發。
"vm": {
"composefile": "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 允許呼叫這些二進位制檔案。
瞭解如何呼叫可執行檔案。