• cpu架构:x86
  • 操作系统:ubuntu18.04

受够了TensorRT+cuda+opencv+ffmpeg+x264运行环境的部署的繁琐,每次新服务器上部署环境都会花费很大的精力去部署环境,听说nvidia-docker可以省去部署的麻烦,好多人也推荐使用docker方便部署,咱也在网上搜索了下,学习了下,根据网上的资料,开始安装docker学习一下,把学习记录记在这儿,听说要想使用GPU,就要安装Docker-CE和NVIDIA Container Toolkit,好的,开始。

1.安装Dokcer-CE

首先,我的机器上没有安装过docker,要先把docker安装上,执行以下脚本,开始安装。

 curl https://get.docker.com | sh \
>   && sudo systemctl --now enable docker

控制台输出结果如下:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100 19325  100 19325    0     0   2210      0  0:00:08  0:00:08 --:--:--  4718
# Executing docker install script, commit: 3255aa3919e7281693f62855b9d543bb50f04957
+ sudo -E sh -c apt-get update -qq >/dev/null
[sudo] dingxin 的密码:
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c mkdir -p /etc/apt/keyrings && chmod -R 0755 /etc/apt/keyrings
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
gpg: WARNING: unsafe ownership on homedir '/home/dingxin/.gnupg'
+ sudo -E sh -c chmod a+r /etc/apt/keyrings/docker.gpg
+ sudo -E sh -c echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu bionic stable" > /etc/apt/sources.list.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-scan-plugin >/dev/null
+ version_gte 20.10
+ [ -z  ]
+ return 0
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq docker-ce-rootless-extras >/dev/null
+ sudo -E sh -c docker version
Client: Docker Engine - CommunityVersion:           20.10.16API version:       1.41Go version:        go1.17.10Git commit:        aa7e414Built:             Thu May 12 09:17:28 2022OS/Arch:           linux/amd64Context:           defaultExperimental:      trueServer: Docker Engine - CommunityEngine:Version:          20.10.16API version:      1.41 (minimum version 1.12)Go version:       go1.17.10Git commit:       f756502Built:            Thu May 12 09:15:33 2022OS/Arch:          linux/amd64Experimental:     falsecontainerd:Version:          1.6.4GitCommit:        212e8b6fa2f44b9c21b2798135fc6fb7c53efc16runc:Version:          1.1.1GitCommit:        v1.1.1-0-g52de29ddocker-init:Version:          0.19.0GitCommit:        de40ad0================================================================================To run Docker as a non-privileged user, consider setting up the
Docker daemon in rootless mode for your user:dockerd-rootless-setuptool.sh installVisit https://docs.docker.com/go/rootless/ to learn about rootless mode.To run the Docker daemon as a fully privileged service, but granting non-root
users access, refer to https://docs.docker.com/go/daemon-access/WARNING: Access to the remote API on a privileged Docker daemon is equivalentto root access on the host. Refer to the 'Docker daemon attack surface'documentation for details: https://docs.docker.com/go/attack-surface/================================================================================Synchronizing state of docker.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable docker

安装结束后,查看Docker版本:

docker --version

结果如下:

Docker version 20.10.16, build aa7e414

说明安装成功

安装NVIDIA Container Toolkit

执行以下脚本:

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] dingxin 的密码:
OK
deb https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/$(ARCH) /
#deb https://nvidia.github.io/libnvidia-container/experimental/ubuntu18.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/$(ARCH) /
#deb https://nvidia.github.io/nvidia-container-runtime/experimental/ubuntu18.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-docker/ubuntu18.04/$(ARCH) /

安装nvidia-docker2包及其依赖

sudo apt-get update

控制台输出:

命中:1 https://dl.google.com/linux/chrome/deb stable InRelease
命中:2 http://security.ubuntu.com/ubuntu bionic-security InRelease
命中:3 http://cn.archive.ubuntu.com/ubuntu bionic InRelease
命中:4 http://cn.archive.ubuntu.com/ubuntu bionic-updates InRelease
获取:5 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  InRelease [1,484 B]
命中:6 https://linux.teamviewer.com/deb stable InRelease
获取:7 https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/amd64  InRelease [1,481 B]
命中:8 http://cn.archive.ubuntu.com/ubuntu bionic-backports InRelease
获取:9 https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64  InRelease [1,474 B]
获取:10 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  Packages [18.7 kB]
获取:11 https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/amd64  Packages [7,416 B]
获取:12 https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64  Packages [4,488 B]
命中:13 https://download.docker.com/linux/ubuntu bionic InRelease
已下载 35.1 kB,耗时 3秒 (12.0 kB/s)
正在读取软件包列表... 完成

接着执行安装nvidia-docker2:

sudo apt-get install -y nvidia-docker2

控制台输出如下:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:linux-hwe-5.4-headers-5.4.0-100 linux-hwe-5.4-headers-5.4.0-104 linux-hwe-5.4-headers-5.4.0-105 linux-hwe-5.4-headers-5.4.0-107 linux-hwe-5.4-headers-5.4.0-109 linux-hwe-5.4-headers-5.4.0-42linux-hwe-5.4-headers-5.4.0-89 linux-hwe-5.4-headers-5.4.0-90 linux-hwe-5.4-headers-5.4.0-91 linux-hwe-5.4-headers-5.4.0-92 linux-hwe-5.4-headers-5.4.0-94 linux-hwe-5.4-headers-5.4.0-96linux-hwe-5.4-headers-5.4.0-99
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:libnvidia-container-tools libnvidia-container1 nvidia-container-toolkit
下列【新】软件包将被安装:libnvidia-container-tools libnvidia-container1 nvidia-container-toolkit nvidia-docker2
升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 38 个软件包未被升级。
需要下载 1,934 kB 的归档。
解压缩后会消耗 7,730 kB 的额外空间。
获取:1 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  libnvidia-container1 1.9.0-1 [926 kB]
获取:2 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  libnvidia-container-tools 1.9.0-1 [23.9 kB]
获取:3 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  nvidia-container-toolkit 1.9.0-1 [978 kB]
获取:4 https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64  nvidia-docker2 2.10.0-1 [5,532 B]
已下载 1,934 kB,耗时 58秒 (33.3 kB/s)
正在选中未选择的软件包 libnvidia-container1:amd64。
(正在读取数据库 ... 系统当前共安装有 462588 个文件和目录。)
正准备解包 .../libnvidia-container1_1.9.0-1_amd64.deb  ...
正在解包 libnvidia-container1:amd64 (1.9.0-1) ...
正在选中未选择的软件包 libnvidia-container-tools。
正准备解包 .../libnvidia-container-tools_1.9.0-1_amd64.deb  ...
正在解包 libnvidia-container-tools (1.9.0-1) ...
正在选中未选择的软件包 nvidia-container-toolkit。
正准备解包 .../nvidia-container-toolkit_1.9.0-1_amd64.deb  ...
正在解包 nvidia-container-toolkit (1.9.0-1) ...
正在选中未选择的软件包 nvidia-docker2。
正准备解包 .../nvidia-docker2_2.10.0-1_all.deb  ...
正在解包 nvidia-docker2 (2.10.0-1) ...
正在设置 libnvidia-container1:amd64 (1.9.0-1) ...
正在设置 libnvidia-container-tools (1.9.0-1) ...
正在设置 nvidia-container-toolkit (1.9.0-1) ...
正在设置 nvidia-docker2 (2.10.0-1) ...
正在处理用于 libc-bin (2.27-3ubuntu1.5) 的触发器 ...
/sbin/ldconfig.real: /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 is not a symbolic link/sbin/ldconfig.real: /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 is not a symbolic link/sbin/ldconfig.real: /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link/sbin/ldconfig.real: /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 is not a symbolic link/sbin/ldconfig.real: /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 is not a symbolic link/sbin/ldconfig.real: /usr/local/cuda-11.4/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 is not a symbolic link

安装完成

接着安装镜像

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

控制台输出结果:


查看已下载的镜像

sudo docker images -a

控制台输出如下:
查看当前运行的容器:

 sudo docker ps

控制台输出如下:

貌似没有运行的容器,毕竟我是刚装的docker吗。

拉一个镜像下来,比如ubuntu

sudo docker pull ubuntu


nvidia-docker的安装相关推荐

  1. docker下安装jupyterHub

    docker下安装jupyterHub 安装docker 什么是docker 安装docker 1)centOs 2)Windows 3)Mac docker的基本操作 1)列出机器上的镜像(imag ...

  2. ubuntu18.04 nvidia gpu驱动与tensorflow-gpu以 docker方式安装

    通过ubuntu标准库自动安装驱动 搜索系统当前支持的驱动(此方法可能无法安装最新版) $ ubuntu-drivers devices == /sys/devices/pci0000:00/0000 ...

  3. nvidia docker安装和驱动安装

    2.nvidia docker 安装 驱动先安装 1.驱动是否安装 首先nvidia-smi 正常显示说明驱动安装好了,不用安装驱动了,这里都跳过 没有先装一个驱动,两个方式安装,如下 下载 NVID ...

  4. Docker离线安装及python算法部署详细介绍

    算法部署时,常出现测试通过生产上环境各种问题的情况,很影响效率. 因此想采用docker的方式部署,市面上的安装都不是很顺利,因此本文总结各种安装方式,采用离线的方式安装,较为稳定且可行. 1.Doc ...

  5. centos7 安装英伟达驱动;cuda;docker离线安装;docker gpu离线安装;制作自己的cuda镜像;安装 容器中ssh协议

    原创不易,谢谢! centos7 安装英伟达驱动,cuda,docker安装,docker gpu安装,制作自己的cuda镜像,docker ssh协议 无论是笔记本还是台式电脑,这一步关键 参考资料 ...

  6. 一键训练 deeplabv3seg、squeezeseg、voxelnet Docker镜像安装

    申明:此博客是  港心时代(原太平洋AI)整理的三大点云深度学习框架,具有以下特点: 1.兼并SOTA深度学习算法与传统算法,一键运行模拟. 2.DINK中人工智能纯Tensorflow实现. 3.全 ...

  7. 基于WSL2+NVIDIA Docker的开发环境最佳实践

    1. Windows 11 安装WSL2 Ubuntu 22.04 LTS 1.1 安装windows附加功能 点击:设置->应用->可选功能->更多windows功能 弹出的窗口: ...

  8. Nvidia显卡主机安装Ubuntu系统踩坑小结(Z1-Entry-Tower-G6主机安装Ubuntu-18.04)

    目录 背景 问题和解决方法 1.U盘安装Ubuntu系统时出现花屏和ACPI error问题: 2.安装Ubuntu系统时卡在Ubuntu logo五个圆点加载处: 3.系统安装成功后重启,出现花屏, ...

  9. Docker的安装、镜像源更换与简单应用

    Docker的安装.镜像源更换与简单应用[阅读时间:约20分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.Docker的安装 四.Docker的简单应用 1. ...

  10. 客快物流大数据项目(八):Docker的安装和启动

    目录 Docker的安装和启动 一.服务器规划 二.安装Docker 1.验证Linux内核版本 <

最新文章

  1. Prn.txt Con.txt(文件命名的问题)
  2. linux的常用操作——共享库
  3. 计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍
  4. python3.6.5安装步骤-Centos7 安装Python3.6.5步骤
  5. java putall实现_java putAll与addAll的小区别
  6. centos6 安装glibc-2.14.1
  7. php图书馆占座系统代码,基于php的图书馆座位管理系统
  8. Houdini 快捷键
  9. NoteFirst word插件无法显示解决方案
  10. 用VBA检查Word文档中是否存在位于行首的脚注引用,如存在则通过调整字符间距使其移动到非行首的位置
  11. Sonatype Nexus: Recommended file descriptor limit is 65536 but count is 4096
  12. [云上贵州2017]智慧交通预测挑战赛
  13. 机械转行程序员怎么样?
  14. 关于js文本框数字校验
  15. ESP8266-天猫精灵(智能家居)
  16. [MOVE]-音频翻唱检索论文笔记
  17. UltraISO 制作系统启动盘教程
  18. binder机制原理分析(一):ServiceManager 进程启动
  19. (附源码)Python宿舍管理系统 毕业设计231642
  20. 计算广告及搜索广告简介

热门文章

  1. 葵花宝典——放入word中
  2. 计算机网络协议,以太网帧格式
  3. 移动硬盘识别为本地硬盘_如果仅在硬盘已经旋转时才能识别硬盘,该怎么办?
  4. cocos2dx-lua使用UIListView制作二级折叠菜单
  5. arm-linux平台的锐捷认证工具Mentohust移植
  6. OpenCV+ip摄像头实现远程实时监控
  7. 累计三年,断断续续的管理经验
  8. android蓝牙配对 自动联接,Android系统下蓝牙自动配对连接方法
  9. 毕设教程:基于嵌入式Linux和Qt实现的视频监控系统(Arm/树莓派/jetson)
  10. 自定义形状seekbar学习