Compartir comentarios
Las respuestas se generan en base a la documentación.

Usar el socket de Docker desde el backend de la extensión


Las extensiones pueden invocar comandos de Docker directamente desde el frontend con el SDK.

En algunos casos, también es útil interactuar con Docker Engine desde el backend.

Los contenedores de backend de la extensión pueden montar el socket de Docker y usarlo para interactuar con Docker Engine desde la lógica del backend de la extensión. Obtén más información sobre el socket de Docker Engine.

Sin embargo, al montar el socket de Docker desde un contenedor de extensión que reside en la máquina virtual de Desktop, debes montar el socket de Docker desde el interior de la máquina virtual, y no montar /var/run/docker.sock desde el sistema de archivos del host (usar el socket de Docker desde el host puede provocar problemas de permisos en los contenedores).

Para hacer esto, puedes usar /var/run/docker.sock.raw. Docker Desktop monta el socket que reside en la máquina virtual de Desktop, y no el del host.

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