從擴充套件後端使用 Docker socket


擴充套件可以透過 SDK 直接從前端呼叫 Docker 命令。

在某些情況下,從後端與 Docker Engine 互動也很有用。

擴充套件後端容器可以掛載 Docker socket 並使用它從擴充套件後端邏輯與 Docker Engine 互動。瞭解更多關於Docker Engine socket的資訊

然而,當從 Desktop 虛擬機器中的擴充套件容器掛載 Docker socket 時,您需要從虛擬機器內部掛載 Docker socket,而不是從主機檔案系統掛載 /var/run/docker.sock(從主機使用 Docker socket 可能導致容器中的許可權問題)。

為此,您可以使用 /var/run/docker.sock.raw。Docker Desktop 掛載的是 Desktop 虛擬機器內部的 socket,而不是主機的。

services:
  myExtension:
    image: ${DESKTOP_PLUGIN_IMAGE}
    volumes:
      - /var/run/docker.sock.raw:/var/run/docker.sock