之前写的[笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程已经out了,以这篇为准。

Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境。

为了在docker中支持GPU,NVidia之前是弄了个nvidia-docker2,现在升级为NVIDIA Container Toolkit了。官方说法是"Usage of nvidia-docker2 packages are deprecated since NVIDIA GPUs are now natively supported as devices in the Docker runtime"。

安装环境

  • OS:Ubuntu 18.04 64 bit
  • 显卡:NVidia GTX 2080 Ti x 2
  • CUDA:10.0
  • cnDNN:7.4

任务:安装Docker CENVIDIA Container Toolkit,以便后期开展深度学习

配置Docker源

  1. # 更新源
  2. $ sudo apt update
  3. # 启用HTTPS
  4. $ sudo apt install -y \
  5. apt-transport-https \
  6. ca-certificates \
  7. curl \
  8. gnupg-agent \
  9. software-properties-common
  10. # 添加GPG key
  11. $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  12. # 添加稳定版的源
  13. $ sudo add-apt-repository \
  14. "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  15. $(lsb_release -cs) \
  16. stable"

安装Docker CE

此刻Docker版本需要19.03,此后可能需要更新。

  1. # 更新源
  2. $ sudo apt update
  3. # 安装Docker CE
  4. $ sudo apt install -y docker-ce

如果这种方式安装失败,也有解决方案。

报错时屏幕上会显示下载失败的deb文件,想办法下载下来,然后挨个手动安装就好。

此刻我需要下载的是下面三个文件,此后更新为当时最新版本即可:

手动依次安装:

  1. $ sudo dpkg -i containerd.io_1.2.6-3_amd64.deb
  2. $ sudo dpkg -i docker-ce-cli_19.03.0~3-0~ubuntu-bionic_amd64.deb
  3. $ sudo dpkg -i docker-ce_19.03.0~3-0~ubuntu-bionic_amd64.deb

验证Docker CE

如果出现下面的内容,说明安装成功。

  1. $ sudo docker run hello-world
  2. Unable to find image 'hello-world:latest' locally
  3. latest: Pulling from library/hello-world
  4. 1b930d010525: Pull complete
  5. Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
  6. Status: Downloaded newer image for hello-world:latest
  7. Hello from Docker!
  8. This message shows that your installation appears to be working correctly.
  9. To generate this message, Docker took the following steps:
  10. 1. The Docker client contacted the Docker daemon.
  11. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  12. (amd64)
  13. 3. The Docker daemon created a new container from that image which runs the
  14. executable that produces the output you are currently reading.
  15. 4. The Docker daemon streamed that output to the Docker client, which sent it
  16. to your terminal.
  17. To try something more ambitious, you can run an Ubuntu container with:
  18. $ docker run -it ubuntu bash
  19. Share images, automate workflows, and more with a free Docker ID:
  20. https://hub.docker.com/
  21. For more examples and ideas, visit:
  22. https://docs.docker.com/get-started/

配置nvidia-docker

  1. # 添加源
  2. $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
  3. $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
  4. $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
  5. # 安装并重启docker
  6. $ sudo apt update && sudo apt install -y nvidia-container-toolkit
  7. $ sudo systemctl restart docker

使用

  1. # 在官方CUDA镜像上测试 nvidia-smi
  2. $ sudo docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
  3. # 启动支持双GPU的容器
  4. $ sudo docker run --gpus 2 nvidia/cuda:9.0-base nvidia-smi
  5. # 指定GPU 1,运行容器
  6. $ sudo docker run --gpus device=0 nvidia/cuda:9.0-base nvidia-smi

能看到显卡信息就说明OK了,当前image是基于Ubuntu 16.04的。

[笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程的更多相关文章

  1. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境. 而nvidia-docker2的好处是NVidia帮你配好了Host和Container之间的CUDA相 ...

  2. [笔记] Ubuntu 18.04安装cuda 10及cudnn 7流程

    安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 任务:安装 CUDA 10及cuDNN 7 工具下载 NVidia官网下载下列文件: CUDA 10:cu ...

  3. 记录Ubuntu 16.04 安装Docker CE

    一.Docker的两个版本 Docker有两个版本: 社区版(CE) 企业版(EE) Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容器的应用程 ...

  4. Ubuntu 18.04 安装 docker, 设置阿里云加速

    1.卸载旧的 docker 环境 sudo apt-get remove docker docker-engine docker.io containerd runc 2.设置仓库 更新索引 sudo ...

  5. ubuntu 18.04安装docker以及docker内配置neo4j

    如题 切换到root用户下 apt install docker.io 等啊等,很快,就好了.. 如图 即可使用 如果出现Cannot connect to the Docker daemon at ...

  6. Ubuntu 18.04 安装Docker

    第一种方法从Ubuntu的仓库直接下载安装: 安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装. $ sudo apt install docker.io ...

  7. Ubuntu 18.04安装docker 以及Nginx服务设置

    1.安装需要的包sudo apt install apt-transport-https ca-certificates software-properties-common curl 2.添加 GP ...

  8. [笔记] Ubuntu 18.04源码安装caffe流程

    虽然Ubuntu 18.04可以通过apt安装caffe,但是为了使用最新的代码,还是值得从源码安装一遍的. 安装环境 OS: Ubuntu 18.04 64 bit 显卡: NVidia GTX 1 ...

  9. 笔记:在 Windows 10 WSL Ubuntu 18.04 安装 Odoo12 (2019-06-09)

    笔记:在 Windows 10 WSL Ubuntu 18.04 安装 Odoo12 原因 为了和服务器一样的运行环境. 使用 Ubuntu 运行 Odoo 运行更快. 方便使用 Windows 10 ...

随机推荐

  1. UVa101 The Blocks Problem(不定长数组vector)

    The Blocks Problem 书上的一道例题,代码思路比较清晰,可以看懂. 相关知识: 若a是一个vector,则: a.size():读取它的大小 a.resize():改变大小 a.pus ...

  2. swiper 使用心得

    首先,我在这次学习的最大收益是,学习新框架.或者技术,先找官方文档比较好,那里的很全,你想要的基本都有的,如果没有那就是不支持喽. 然后简单概括下是怎么用的(比较谦虚,大家勿怪) 一 .找他的官方文档 ...

  3. PassengerNginxdebian快速部署Rails

    Passenger/Nginx/Debian快速部署Rails   PassengerNginxdebian快速部署Rails     安装所需的linux包 sudo apt-get install ...

  4. nginx静态资源服务

    静态文件 动态文件 需要算法,函数封装后,返回给浏览器端的 静态资源的服务场景----CDN 异步I/O-----效果不明显 tcp_nopush  注意,须在sendfile开启的前提下 技术思想: ...

  5. springboot2.x下actuator模块

    一.简介    spring-boot-starter-actuator模块是一个spring提供的监控模块.我们在开运行发过程中,需要实时和定时监控服务的各项状态和可用性.Spring Boot的s ...

  6. qt一些函数

    sleep(n);   休息ns msleep(1000);   休息1000毫秒 usleep(1000000);  //休息n微妙

  7. HDU 6039 - Gear Up | 2017 Multi-University Training Contest 1

    建模简析: /* HDU 6039 - Gear Up [ 建模,线段树,图论 ] | 2017 Multi-University Training Contest 1 题意: 给你n个齿轮,有些齿轮 ...

  8. laya入门及egret

    laya篇 1.laya的资源会自动打包可手动设置,在view编辑界面 2.laya的界面编辑器用的是mornUI,所以是xml解析成view的 3.laya的事件均继承dom事件 4.sprite的 ...

  9. psd缩略图上传组件

    之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需 ...

  10. [spring cloud] [error] java.lang.IllegalStateException: Only one connection receive subscriber allowed.

    前言 最近在开发api-gateway的时候遇到了一个问题,网上能够找到的解决方案也很少,之后由公司的大佬解决了这个问题.写下这篇文章记录一下解决方案.希望可以帮助到更多的人. 环境 java版本:8 ...