美文网首页
docker镜像创建时使用GPU环境

docker镜像创建时使用GPU环境

作者: zbharper | 来源:发表于2022-05-25 22:49 被阅读0次

我想将一个使用tensorrt加载的推理服务打包为docker镜像,如果推理引擎每次都加载onnx会比较慢,导致容器启动后一段时间内无法提供服务,所以最好能预先序列化为tensorrt engine文件保存在镜像中,这样容器启动的速度就很快了。

问题来了,由于engine文件高度依赖于系统运行时环境,如cuda, tensorrt的版本等。我在开发机上预先建好的engine文件,很有可能打包到docker镜像中后无法启动,我想到的方法是在docker build阶段,运行一段代码,直接在当前的docker环境中加载onnx并生成engine文件保存。这需要镜像构建时能够使用GPU环境,否则无法加载tensorrt。

为了实现这个目的,目前只查到一种方法,就是在docker 配置文件/etc/docker/daemon.json 中指定默认的runtime:

{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
         } 
    },
    "default-runtime": "nvidia"  ## 这一步需要添加
}

将默认runtime设定为nvidia后,docker build阶段会默认开启gpu,dockerfile中可以运行需要GPU环境的代码了。构建好的镜像启动容器时,也不需要再指定--gpu。

感觉这个方法不太灵活,毕竟大部分情况下并不需要nvidia的runtime,镜像也不一定要默认使用GPU。如果docker build能像docker run 指定 --gpu参数 那样灵活设置就好了,不知道是不是有这种方法。

Advanced topics · NVIDIA/nvidia-docker Wiki · GitHub
在这里提到了

Default runtime

The default runtime used by the Docker® Engine is runc, our runtime can become the default one by configuring the docker daemon with --default-runtime=nvidia. Doing so will remove the need to add the --runtime=nvidia argument to docker run. It is also the only way to have GPU access during docker build.

看起来像是docker build阶段使用gpu的唯一办法了。。。

相关文章

  • docker镜像创建时使用GPU环境

    我想将一个使用tensorrt加载的推理服务打包为docker镜像,如果推理引擎每次都加载onnx会比较慢,导致容...

  • 细述docker容器中创建SSH服务镜像

    基于commit命令方式创建 docker的安装 下载本地镜像 使用docker run命令时,Docker会自动...

  • docker之创建SSH服务镜像

    一、基于commit命令方式创建 docker的安装 下载本地镜像使用docker run命令时,Docker会自...

  • mysql主从同步实战(基于docker容器)

    一、测试环境 二、安装docker、拉取mysql镜像、使用镜像创建mysql容器 1.在windows上安装vm...

  • docker学习笔记

    1 几个概念: 镜像构建:即创建一个镜像,它包含安装运行所需的环境、程序代码等。这个创建过程就是使用 docker...

  • Docker基础使用

    Docker基础使用 概念 Docker Images:镜像,用于创建Docker容器的模板。Docker Con...

  • docker镜像命令

    1、docker build命令(dockerfile时用) 使用当前目录的Dockerfile创建镜像,标签为 ...

  • docker build 命令

    docker build命令用于使用 Dockerfile 创建镜像。 语法 docker build [OPT...

  • docker 创建镜像

    使用Dockerfile创建镜像https://www.runoob.com/docker/docker-dock...

  • Docker 安装Hadoop HDFS

    搜索镜像 没有官方镜像,我选择使用singlarities/hadoop镜像 查看 创建docker-compos...

网友评论

      本文标题:docker镜像创建时使用GPU环境

      本文链接:https://www.haomeiwen.com/subject/qivyprtx.html