如何指定要在 docker-compose 版本 3 中使用的容器运行时?
How can I specify the container runtime to use in docker-compose version 3?
我正在开发一个需要 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 升级到 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.
我正在开发一个需要 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 升级到 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.