安裝nvidia-docker


docker中不能安裝nvidai驅動

nvidia-docker是一個可以使用GPU的docker,nvidia-docker是在docker上做了一層封裝,通過nvidia-docker-plugin,然后調用到docker上,其最終實現的還是在docker的啟動命令上攜帶一些必要的參數。因此在安裝nvidia-docker之前,還是需要安裝docker的。

docker一般都是使用基於CPU的應用,而如果是GPU的話,就需要安裝特有的硬件環境,比如需要安裝nvidia driver。所以docker容器並不直接支持Nvidia GPU。為了解決這個問題,最早的處理辦法是在容器內部,全部重新安裝nvidia driver,然后通過設置相應的設備參數來啟動container,然而這種辦法是很脆弱的。因為宿主機的driver的版本必須完全匹配容器內的driver版本,這樣導致docker image無法共享,很可能本地機器的不一致導致每台機器都需要去重復操作,這很大的違背了docker的設計之初。

為了使docker image能很便利的使用Nvidia GPU,從而產生了nvidia-docker,由它來制作nvidia driver的image,這就要求在目標機器上啟動container時,確保字符設備以及驅動文件已經被掛載。

安裝docker_ce

安裝nvidia-docker2需要dokcer_ce*

  • 卸載原來的docker
yum remove docker  docker-common docker-selinux docker-engine
  • 安裝依賴包
# yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 安裝docker_ce
# yum list docker-ce --showduplicates | sort -r
# yum install docker_ce

  • 啟動docker
# systemctl start docker
# systemctl enable docker 

安裝nvidia-docker2

  • 安裝nvidia-docker2
# yum install nvidia-docker2
# pkill -SIGHUP dockerd

使用nvidia-docker2需要宿主機上面nvidia的驅動安裝完成

修改runtime

[root@t91 ~]# cat /etc/docker/daemon.json 
{

    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

使用nvidia-docer2啟動image,並進入container

# nvidia-docker run -itd --name node1 --hostname node1  centos:7.5.1804 /usr/sbin/init
# docker exec -it node1 /bin/bash


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM