Подключение к ресурсам универсального устройства Docker Swarm

Запрос на помощь Docker: я пытаюсь подключить контейнер в нашем Swarm к устройству в /dev. Соединение работает правильно через сопоставление устройств при работе в контейнере докеров, однако мы не можем подключиться к устройству в нашем узле Swarm.

Устройство представляет собой графическое оборудование для использования драйверов vaapi с нашим конвейером Gstreamer и расположено здесь: /dev/dri/renderD128, но это общий вопрос для подключения к любому устройству из контейнера в рое.

Мне нужен совет о том, как это будет выглядеть при подключении к нашему устройству с помощью общих ресурсов Swarmkit.

Доступно обсуждение Swarmkit и графического оборудования, включая:

Но мне не удалось превратить их в раствор.

Одна команда запуска докера, которая успешно подключается к этому устройству, когда НЕ запущена в рое, выглядит следующим образом:

docker run -ti \
-e XDG_RUNTIME_DIR=/tmp \
--device=/dev/dri/card0:/dev/dri/card0 \
--device=/dev/dri/renderD128:/dev/dri/renderD128 \
-v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/$WAYLAND_DISPLAY \
<docker-image> bash

Но опять же, это общий вопрос для контейнеров, роев и сопоставления устройств в целом, и он не связан с этим конкретным устройством.

Мы используем docker compose file версии 3 и попробовали вариант «device», который, как и ожидалось, не работает: https://docs.docker.com/compose/compose-file/#devices

«Эта опция игнорируется при развертывании стека в режиме роя с файлом Compose (версия 3)».

Благодарю за помощь.


person David Manpearl    schedule 06.03.2018    source источник


Ответы (1)


Вы видели https://github.com/NVIDIA/nvidia-docker/issues/141#issuecomment-356458450?

с 17.12.0-ce вы можете настроить демон докеров, чтобы ваши графические процессоры подвергались атаке.

Использование docker service теперь поддерживает его, однако, насколько я могу судить, в docker-compose нет эквивалента --generic-resource.

РЕДАКТИРОВАТЬ: на самом деле в compose 3.5 есть поддержка:

       generic_resources:
           - discrete_resource_spec:
                kind: 'gpu'
                value: 2

[https://github.com/docker/cli/commit/1ff73daf867df382cb5a70f4579]

person galp    schedule 22.03.2018