【问题标题】:How can I specify the container runtime to use in docker-compose version 3?如何指定要在 docker-compose 版本 3 中使用的容器运行时?
【发布时间】:2019-11-25 14:02:53
【问题描述】:

我正在开发一个需要 nvidia 运行时的容器。我可以像这样在 v2.3 docker-compose 文件中指定此运行时:

version: "2.3"
services:
  my-service:
    image: "my-image"
    runtime: "nvidia"
    ...

运行docker-compose up my-service 工作正常。我得到了 nvidia 运行时,一切正常。

我只是通过将“2.3”更改为“3”来尝试此操作,但当我执行docker-compose up my-service 时出现以下错误:

ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.my-service: 'runtime'

如果我去掉runtime: "nvidia" 行,这不会出现问题——当然它没有使用 nvidia,我需要访问主机上的 GPU 以获得我想要的性能。

在 docker-compose v3 中是否有 runtime 的等价物?如果不是,为什么放弃这个选项?提前致谢。 :)

【问题讨论】:

    标签: docker-compose nvidia-docker


    【解决方案1】:

    我知道这个问题很老了,但我昨天遇到了。

    TL;DR: 将你的 docker-compose 升级到 1.27.0+

    详情

    关于在专用 Docker 错误线程中删除 runtime 关键字的讨论相当激烈:https://github.com/docker/compose/issues/6691

    最后,在 1.27.0 中,Docker 决定允许它回来。所以你只需要拥有正确版本的 docker-compose。

    我会推荐 pip 安装路径,因为它们的版本是最新的(Debian buster 中的当前 docker-compose 版本是 1.21)。 而且好像有other good reasons to do so, see here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 1970-01-01
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多