확장 백엔드에서 Docker 소켓 사용하기

확장 백엔드에서 Docker 소켓 사용하기 (Use the Docker socket from the extension backend)

확장 백엔드 컨테이너에서 Docker Engine 소켓을 마운트하고 사용하는 방법을 설명하는 문서예요.

출처: 문서

본문

확장은 SDK를 사용해 프론트엔드에서 직접 Docker 명령을 호출할 수 있어요.

어떤 경우에는 백엔드에서도 Docker Engine과 상호작용하는 것이 유용해요.

확장 백엔드 컨테이너는 Docker 소켓을 마운트하고 확장 백엔드 로직에서 Docker Engine과 상호작용하는 데 사용할 수 있어요. Docker Engine 소켓에 대해 자세히 알아보세요.

하지만 Desktop 가상 머신에 사는 확장 컨테이너에서 Docker 소켓을 마운트할 때는, 호스트 파일 시스템의 /var/run/docker.sock을 마운트하지 말고 VM 내부에서 Docker 소켓을 마운트하고 싶을 거예요(호스트의 Docker 소켓을 사용하면 컨테이너에서 권한 문제가 발생할 수 있음).

이렇게 하려면 /var/run/docker.sock.raw를 사용할 수 있어요. Docker Desktop은 호스트가 아닌 Desktop VM에 있는 소켓을 마운트해요.

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

더 알아보기 (Learn more)