1. 安装 Docker

  • 卸载旧版本 Docker
sudo apt-get remove docker docker-engine docker.io containerd runc
  • 安装新版本
sudo apt-get update
sudo apt-get install \ca-certificates \curl \gnupg \lsb-releasecurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho \"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullsudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

其它安装方式请参考:
https://docs.docker.com/engine/install/ubuntu/

2. 安装 nvidia-docker

  • docker 版本 > 19.03 则不需要安装 nvidia-docker ,只需要安装 nvidia-container-tookit
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

验证安装是否成功

sudo docker run --rm --gpus all nvidia/cuda:10.0-base nvidia-smi

输出结果:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.93       Driver Version: 410.93       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    On   | 00000000:01:00.0 Off |                  N/A |
| 37%   22C    P8    14W / 180W |      0MiB /  8119MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 1080    On   | 00000000:82:00.0 Off |                  N/A |
| 37%   20C    P8     9W / 180W |      0MiB /  8119MiB |      0%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

其它测试命令,详情参考:
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/user-guide.html

#### Test nvidia-smi with the latest official CUDA image
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi# Start a GPU enabled container on two GPUs
docker run --gpus 2 nvidia/cuda:10.0-base nvidia-smi# Starting a GPU enabled container on specific GPUs
docker run --gpus '"device=1,2"' nvidia/cuda:10.0-base nvidia-smi
docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:10.0-base nvidia-smi# Specifying a capability (graphics, compute, ...) for my container
# Note this is rarely if ever used this way
docker run --gpus all,capabilities=utility nvidia/cuda:10.0-base nvidia-smi
  • docker 版本 < 19.03,则需要安装 nvidia 官方提供的 nvidia-docker

NVIDIA Docker 地址:
https://github.com/NVIDIA/nvidia-docker

https://www.cnblogs.com/qinlulu/p/14671420.html

https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker

3. 下载cuda/nvidia-ubuntu镜像

docker 镜像官网:https://hub.docker.com/ ,输入 nvidia/cuda 选择对应的版本。

4. 使用 Dockerfile 构建镜像

直接基于 nvida/cuda ,使用 DockerFile 构建一个镜像

 docker build -t docker_image_name  .

DockerFile 内容:

FROM nvidia/cuda:10.0-cudnn7-runtime-ubuntu16.04RUN cat /etc/apt/sources.list && apt-get clean && apt-get -y update --fix-missing
RUN apt-get -y install python3.6 python3-pip && ln -s /usr/bin/python3.6 /usr/bin/python && ln -s /usr/bin/pip3 /usr/bin/pip
RUN apt-get install -y libsm6 libxrender1 libxext-dev
#安装需要的库
RUN pip install -i https://mirrors.aliyun.com/pypi/simple/ web.py torch==1.3.1 torchvision==0.4.2 opencv-python scipy flask
RUN apt-get clean && rm -r ~/.cache/pip

其它 Dockerfile

# BASE IMAGE
FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu16.04 SHELL ["/bin/bash","-c"]WORKDIR /tmp
# copy安装文件
COPY Python-3.6.9.tar.xz /tmp
# 设置 root 密码
RUN echo 'root:password' | chpasswd \
# 安装openssh-server 并配置&& apt-get update && apt-get -y install openssh-server \&& sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config \ && sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config \&& mkdir /var/run/sshd \
# 安装python依赖包&& apt-get -y install build-essential python-dev python-setuptools python-pip python-smbus \&& apt-get -y install build-essential libncursesw5-dev libgdbm-dev libc6-dev \&& apt-get -y install zlib1g-dev libsqlite3-dev tk-dev \&& apt-get -y install libssl-dev openssl \&& apt-get -y install libffi-dev \
# 安装python 3.6.9&& mkdir -p /usr/local/python3.6 \&& tar xvf Python-3.6.9.tar.xz \&& cd Python-3.6.9 \&& ./configure --prefix=/usr/local/python3.6 \&& make altinstall \
# 建立软链接&& ln -snf /usr/local/python3.6/bin/python3.6 /usr/bin/python3 \&& ln -snf /usr/local/python3.6/bin/pip3.6 /usr/bin/pip3\
# 安装pytorch&& mkdir ~/.pip && echo -e '[global] \nindex-url = https://mirrors.aliyun.com/pypi/simple/' >> ~/.pip/pip.conf \&& pip3 install torch===1.2.0 torchvision===0.4.0 -f https://download.pytorch.org/whl/torch_stable.html \
# 清理copy的安装文件&& apt-get clean \&& rm -rf /tmp/* /var/tmp/*EXPOSE 22CMD ["/usr/sbin/sshd", "-D"]

参考:
https://www.cnblogs.com/qinlulu/p/14671420.html

https://www.cnblogs.com/shoufu/p/12904832.html

https://blog.csdn.net/weixin_43590796/article/details/114848742#commentBox

https://blog.csdn.net/submarineas/article/details/115558769

docker 配置使用宿主机的GPU(ubuntu16.04+cuda10.0+cudnn7)相关推荐

  1. Ubuntu16.04+cuda10.0+cudnn7.6配置tensorflow1.x环境

    现阶段有多种深度学习框架,应用较多的主要是tensorflow.pytorch以及百度公司的paddlepaddle.个人刚开始使用的深度学习框架是基于pytorch的mmdetection,来自于商 ...

  2. 成功安装ubuntu16.04+cuda9.0+cuDNN7.0.5+caffe+digits(附错误汇总)

    成功安装ubuntu16.04+cuda9.0+cuDNN7.0.5+caffe+digits(附错误汇总) 本机硬件:双核i7 内存8G 显卡GTX070(不好意思,比较水) 安装顺序:依赖包--& ...

  3. DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu)

    DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu) 目录 1.安装nvidia驱动 2.安装CUDA ...

  4. Ubuntu16.04 + Cuda-9.0 + Cudnn-7.1.4 + TensorFlow1.8(极其简单)

    步骤 1.Ubuntu16.04 LTS 2.配置Nvidia显卡驱动 3.Cuda-9.0 4.Cudnn-7.1.4 5.TensorFlow1.8 1. Ubuntu16.04 LTS 安装Ub ...

  5. 深度学习环境配置 (Ubuntu18.04 + CUDA10.0 + cuDNN7.6.5 + TensorFlow2.0)

    @ Bergen, Norway 第一次安装 CUDA 的过程简直抓狂,中间出现了很多次莫名其妙的 bug,踩了很多坑.比如装好了 CUDA 重启后进不去桌面系统了,直接黑屏.比如鼠标键盘都不 wor ...

  6. cuda8.0.44linux.run,ubuntu16.04 cuda8.0 cudnn7.0 安装

    cuda 8.0 安装: sudo sh ./cuda_8.0.44_linux.run (可通过sudo sh ./cuda_8.0.44_linux.run --help查看一些参数命令,安装某一 ...

  7. ubuntu16.04+cuda9.0+cudnn7.0+caffe

    准备工作 删除原有cuda sudo apt autoremove cuda 删除原有软件更新 系统设置-软件和更新-其他软件 cuda9.0 下载链接: cuda9.0 在下载目录打开termina ...

  8. ubuntu16.04+cuda8.0+cudnn5.1+caffe 安装(基于独立主机集成显卡GTX1080Ti)

    最近开始配置自己的深度学习主机,由于之前只在笔记本上和单显卡主机上安装过,所以可以说是zero经验,以至于很多问题不了解都当成了bug,故为了方便以后的自己以及大众,特在此写下post一篇.(由于可能 ...

  9. cuda8.0.44linux.run,ubuntu16.04+cuda8.0+cudnn6+tensorflow(gpu)1.4,一遍成功

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 0 python环境(ubuntu16.04自带2.7.12)0.1 查看python版本与安装路径1 2 3 4pyt ...

最新文章

  1. 29个月过去了,CSDN排名前200了:排名不断靠前的过程中,自己的技术水平和竞争力一定会不断向上...
  2. wireshark过虑规则
  3. python心理学实验程序_psychopy coder模式编写心理试验程序 字符程序和记录反应时...
  4. JAVA入门级教学之(continue)
  5. 宁愿“大小周”、每天只写 200 行代码、月薪 8k-17k 人群再涨 | 揭晓中国开发者真实现状
  6. 论文笔记总结_S2D_从稀疏到稠密
  7. 正则十八式-第三式:龙跃于渊
  8. 1.2. Container Overview
  9. matlab日期转儒略历,matlab儒略日转为日期
  10. 基于javaweb的大学生兼职系统(java+springboot+jsp+mysql)
  11. WIN7 直装版安装教程
  12. java背单词软件_背单词的java小软件
  13. java中的画图公式_GitHub - oneSaber/Compiler-java: 函数绘图语言java实现
  14. win10如何更改计算机用户名,手把手教你win10下怎么修改账户用户名
  15. 法语初级学习笔记-04-单词
  16. vue-pdf插件实现pdf文档预览(自动分页预览)——基础积累
  17. 访问空指针一定会使程序死掉吗
  18. 出生日期算年龄html,Javascript从出生日期算起的年龄
  19. C#开发Android App--01--准备工具
  20. 数码照片的文件高级信息获取

热门文章

  1. 2022-2028年中国测绘设备行业研究及前瞻分析报告
  2. Go 学习笔记(70)— Go 变量声明、变量初始化、值类型变量赋值、指针类型变量赋值
  3. Python 标准库之 datetime
  4. 提高班第三周周记(中秋第二天)
  5. c++ Factor泛型编程示例
  6. Linux BSP非标准HDMI分辨率
  7. MinkowskiEngine基准测试
  8. 2021年大数据Flink(二十二):Time与Watermaker
  9. Python 爬虫框架Scrapy安装汇总
  10. Docker核心技术之容器与镜像深入了解