美文网首页
Using docker as nvidia-based ubu

Using docker as nvidia-based ubu

作者: andyhacker | 来源:发表于2023-04-09 17:38 被阅读0次

1. Install nvidia-docker2 depends

1.1 update apt source


$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ 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

1.2 install nivida-docker2

$ sudo apt-get install -y nvidia-docker2

1.3 restart dockerd

$ sudo systemctl restart docker

2. launch docker to get a container

$ docker run -it --gpus all nvidia/cuda:11.4.0-base-ubuntu20.04 nvidia-smi

2.1 选择基础镜像

使用其中一个nvidia/cuda标签是让您的 GPU 工作负载在 Docker 中运行的最快和最简单的方法。有许多不同的变体可供选择;它们提供了操作系统、CUDA 版本和 NVIDIA 软件选项的矩阵。这些镜像是为多种架构而构建的。
每个标签都具有以下格式:

  • 11.4.0-base-ubuntu20.04
  • 11.4.0 – CUDA version.
  • base – Image flavor.
  • ubuntu20.04 – Operating system version.

提供三种不同的镜像风格。该base镜像是基本 CUDA 运行时二进制文件的最小选项。runtime是一个功能更全面的选项,包括用于跨GPU通信的 CUDA 数学库和 NCCL 。第三种变体devel为您runtime提供了用于创建自定义 CUDA 镜像的所有内容以及头文件和开发工具。

如果其中一个镜像适合您,请将其用作Dockerfile. 然后,您可以使用常规 Dockerfile 指令来安装您的编程语言、复制源代码并配置您的应用程序。它消除了手动 GPU 设置步骤的复杂性。

FROM nvidia/cuda:11.4.0-base-ubuntu20.04
RUN apt update
RUN apt-get install -y python3 python3-pip
RUN pip install tensorflow-gpu

COPY tensor-code.py .
ENTRYPONT ["python3", "tensor-code.py"]

2.2 通过dockerfile创建挂载点

通过dockerfile的 VOLUME 指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点。还有一个区别是,通过 VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的。
除非目录不需要绑定主机目录,否则不具备可移植性

#test
FROM ubuntu
MAINTAINER hello1
VOLUME ["/data1","/data2"] 

查看命令: docker inspect

3. docker run permission

$ sudo gpasswd -a username docker   #将普通用户username加入到docker组
$ newgrp docker  #更新docker组

相关文章

网友评论

      本文标题:Using docker as nvidia-based ubu

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