【问题标题】:Docker Swarm Generic Device Resource ConnectionDocker Swarm 通用设备资源连接
【发布时间】:2018-03-06 22:44:59
【问题描述】:

Docker 帮助请求:我正在尝试将 Swarm 中的容器连接到 /dev 中的设备。在 docker 容器中运行时,连接通过设备映射正常工作,但是我们无法连接到 Swarm 节点内的设备。

该设备恰好是图形硬件,可将 vaapi 驱动程序与我们的 Gstreamer 管道一起使用,位于此处:/dev/dri/renderD128,但这是从集群中的容器连接到任何设备的通用问题。

我正在寻求有关通过 Swarmkit 通用资源映射到我们的设备的建议。

关于 Swarmkit 和图形硬件的讨论包括:

但是,我无法将这些提炼成解决方案。

NOT 在 swarm 中运行时成功连接到该设备的一个 docker run 命令如下所示:

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 文件版本 3,并尝试了“device”选项,但该选项按预期失败: https://docs.docker.com/compose/compose-file/#devices

"在使用 swarm 模式部署堆栈时,此选项将被忽略 (版本 3)编写文件。”

感谢您的帮助。

【问题讨论】:

    标签: docker docker-compose intel docker-swarm vaapi


    【解决方案1】:

    你见过https://github.com/NVIDIA/nvidia-docker/issues/141#issuecomment-356458450吗?

    使用 17.12.0-ce,您可以配置 docker 守护程序以将您的 GPU 暴露给 swarm。

    现在使用“docker service”支持它,但据我所知,docker-compose 中没有--generic-resource 等效项。

    编辑:实际上在 compose 3.5 中有支持:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-02
      • 2015-06-17
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多