从扩展后端使用 Docker 套接字


扩展可以直接通过 SDK 从前端调用 Docker 命令。

在某些情况下,从后端与 Docker Engine 进行交互也是有用的。

扩展后端容器可以挂载 Docker 套接字,并利用该套接字从扩展后端逻辑与 Docker 引擎进行交互。了解有关 Docker 引擎套接字 的更多信息。

然而,当从位于桌面虚拟机中的扩展容器挂载 Docker 套接字时,您应挂载虚拟机内部的 Docker 套接字,而不是挂载主机文件系统中的 /var/run/docker.sock(使用主机的 Docker 套接字可能导致容器中出现权限问题)。

为了实现这一点,您可以使用 /var/run/docker.sock.raw。Docker Desktop 会挂载位于 Desktop 虚拟机中的套接字,而非主机上的套接字。

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