Share feedback
Answers are generated based on the documentation.

从扩展后端使用 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,而不是来自主机的 socket。

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