当前位置:   article > 正文

Docker 安装 和 GPU 支持_docker 显卡驱动

docker 显卡驱动

一、Docker安装过程(ubuntu18.04环境)

清华镜像 docker 安装:docker-ce | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

以下是官方安装过程:也可以参照官方说明:

Install Docker Engine on Ubuntu | Docker Documentation

1、由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:

sudo apt-get remove docker docker-engine docker-ce docker.io

2、更新ubuntu的apt源索引

sudo apt-get update

3、配置安装包允许apt通过HTTPS使用仓库

  1. sudo apt-get install \
  2. apt-transport-https \
  3. ca-certificates \
  4. curl \
  5. software-properties-common

4、添加Docker官方GPG key

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

5、设置Docker稳定版仓库

  1. sudo add-apt-repository \
  2. "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  3. $(lsb_release -cs) \
  4. stable"

6、再次更新apt源索引

sudo apt-get update

7、安装最新版Docker CE(社区版)

sudo apt-get install docker-ce

8、如果要安装指定版本的docker按如下操作(不需要也可以跳过这步操作)

  1. apt-cache madison docker-ce # 列出可用的docker-ce版本
  2. sudo apt-get install docker-ce=18.06.1~ce~3-0~ubuntu #安装指定的docker版本

9、拉取hello-world镜像测试docker容器

sudo docker run hello-world

这一步如果报错: (Unable to find image ‘hello-world:latest’ locally)

出现如下信息即表示docker安装成功并且运行正常,请参考这一篇文章

最后, 出现如下信息即表示docker安装成功并且运行正常

 10、启动 Docker 服务并将其设置为开机启动:

  1. sudo systemctl start docker # 启动
  2. sudo systemctl stop docker # 停止
  3. sudo systemctl restart docker # 重启
  4. sudo systemctl enable docker # 设置开机启动

二、daoker 配置root 权限(可选)

令docker无需root权限,每次都要sudo

Docker daemon(Docker守护进程,可以理解是整个Docker的后台)是绑定了Unix Socket(Unix套接字,一种通讯方式),而不是TCP端口来进行通讯。而对于Unix Socket而言,它默认是属于root用户的,其他用户要使用的话,必须在每句命令前加sudo,这样的话Docker daemon就一直是运行在root用户上了。
这样比较麻烦,我们并不想每句命令都加sudo,再一遍遍地输入密码,那应该怎么办呢?
根据前文,Unix Socket默认归属于root用户,那么我们调整用户就可以了。
换句话说,我们新建一个Unix用户组,名叫docker(当然你可以叫它别的名字),然后在这个用户组中,添加一个用户,这样使得daemon启动的时候,使用的Unix Socket是属于这个用户的,而不是root,那么就不需要sudo了。

注:这样的做法可能会引起安全问题,具体可参考Docker Daemon Attack Surface这篇文档。

避免每次输入命令时都要加上sudo

方法1(这个测试过):

建立docker用户组,并添加用户:

  1. sudo groupadd docker
  2. sudo usermod -aG docker $USER

注销你的账户,重新登陆,使得用户组设置变动生效:

若你使用的是虚拟机,那么你最好重启虚拟机使得设置改动生效
若你是用的桌面操作系统比如Linux某个发行版;MacOS;Windows等,完全注销你的账户,然后再重新登陆使得设置改动生效。
如果你用Linux,你也可以用这样一条指令,来使得改动生效:

newgrp docker 

方法2:配置用户组(这个没有测试过):

sudo usermod -a -G docker $USER     

检验一下,是否无需sudo:

docker run hello-world

这条指令就会下载一个测试docker用例,并且会提示各种测试的结果,如果提示结果正确,那么就配置正常!

三、在Docker中使用Nvidia GPU

docker发布19.03版本后,在docker中使用GPU变得方便。docker添加了使用gpu的option。使得只需要一个option即可在容器中使用GPU,跳过了复杂的配置大大降低了使用难度。

docker19.03之后,不再需要安装nvidia-docker了。只安装NVIDIA-CONTAINER-RUNTIME就可以使用了,并且支持docker-compose。

1、安装NVIDIA-CONTAINER-RUNTIME

1、查看支持的操作系统和版本,并根据对应选项,添加源, ubuntu 时 基于 Debian 的系统。

官方说明配置软件包仓库地址:Migration Notice | nvidia-container-runtime

2、然后执行下面的命令:

apt-get install nvidia-container-runtime

3、check nvidia-container-runtime是否安装成功

which nvidia-container-runtime-hook

然后重启 docker daemon

2、向容器暴露GPU

运行容器时,添加--gpu参数启用gpu支持

在启动容器时使用--gpus 使主机上的GPU可访问,并且可以配置使用多少块GPU

  1. # 使用所有GPU
  2. docker run -it --rm --gpus all ubuntu nvidia-smi
  3. # 使用两个GPU
  4. docker run --gpus 2 ubuntu nvidia-smi
  5. # 使用指定 GPU
  6. docker run --gpus '"device=1,2"' ubuntu nvidia-smi

将所有GPU暴露给容器,并调用“nvidia-smi"返回的结果,则表示doker 可以调用 gpu了:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/537874
推荐阅读
相关标签
  

闽ICP备14008679号