ubuntu安装nvidia-docker_Nvidia Docker使用快速入门

Docker使用GPU简介

在Docker中使用GPU是机器学习的常用场景,其中Nvidia GPU最常见。

在Docker中使用GPU CUDA的便捷之处是,其Ubuntu主机只要安装Nvidia GPU的驱动,而各个Docker容器根据使用的深度学习的框架版本如TensorFlow,安装各自不同的CUDA Toolkit版本,从而不相互冲突。

7bd27c613df2eb2668c4ff77d9e48ba6.png

本文简述在Ubuntu 18.04中,配置过程以及容器内的一些权限配置。

Nvidia Docker的安装

Nvidia Docker的官网为: https://github.com/NVIDIA/nvidia-docker

安装流程如下:

  1. Ubuntu 18.04宿主机安装 Nvidia驱动,https://github.com/NVIDIA/nvidia-docker/wiki/Frequently-Asked-Questions#how-do-i-install-the-nvidia-driver
  2. Ubuntu 18.04宿主机安装 Docker 19.03 (这是2019年要求的版本,Docker社区版即可)
  3. 安装nvidia-container-toolkit
# Add the package repositories$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -$ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list​$ sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit$ sudo systemctl restart docker

如何使用Nvidia Docker

在正常使用Docker命令后加--gpu参数即可,如:

docker run --gpus all tensorflow/tensorflow:1.15-gpu-py36 python

Docker容器内使用非root用户

Docker容器内默认是root用户,这样会使容器内创建的文件(使用-v映射卷时)也是root用户,从而使用宿主机访问这些文件成问题。

使用如下命令达到两个目的:

  • Docker容器内添加用户ubuntu,并生成/home/ubuntu用户的home目录。
  • 授权ubuntu使用sudo权限,不然无法使用pip、apt等安装软件。
useradd ubuntu && echo "ubuntu:ubuntu" | chpasswd && adduser ubuntu sudo

这样启动时就默认使用ubuntu用户了。

非root用户操作Docker

默认情况下,在宿主机需要使用root权限来操作docker的,如:

sudo docker ps

原因是,Docker守护程序绑定到Unix套接字而不是TCP端口。默认情况下,Unix套接字是由root用户拥有的,其他用户只能使用sudo访问它。 Docker守护程序始终以root用户身份运行。

如果不想以sudo作为docker命令的开头,创建一个名为docker的Unix group并将用户添加到其中。 Docker守护程序启动时,它将创建一个可由Docker group成员访问的Unix套接字:

sudo groupadd dockersudo usermod -aG docker $USER

登出账号重新登录即可生效,或使用如下更便捷的方式使上述更新生效。

newgrp docker

Docker一些常用操作

docker常用参数:

  • -it。交互式运行
  • -v :。映射宿主机的卷给容器读写
  • -p :。映射宿主机的端口给容器
  • --rm。运行完容器退出后直接删除

docker常用操作:

  • docker commit 。将容器保存为镜像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值