Day27:Docker in VM on PVE

前言

最後几天,我们来设定 AI GPU Training 的环境,既然通篇都在讲虚拟化。
为求方便,并且能够兼容不一样的环境,我这里选择使用 Docker。
如果想在 PVE 内使用 Docker,最好的方式是开一个 VM 并在里面安装 docker daemon。

环境

这边以 Tensorflow 为例子,综上所述,PVE 内的环境如下:
PVE -> VM -> Docker -> Tensorflow container
首先,根据 Day 18 ~ Day 20 我建立了 Ubuntu VM。
并在 PVE 设定页面 pass though 一张 GTX 1080 ti 进去。

安装驱动

在 Ubuntu 内我们可以使用驱动三连安装显卡驱动。

sudo apt install ubuntu-drivers-common
sudo ubuntu-drivers
sudo ubuntu-drivers autoinstall

完事後,记得用 nvidia-smi 检查一下。

安装 Docker

好在现在 Docker 内都已经包含了 CUDA 和大量 nvidia 的配件,所以我们并不需要在主机上安装 CUDA、CuDNN,省去了繁复的版本是配问题。

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

然後安装并启动 docker daemon

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker

最後测试 Docker 内是否能够正确使用到显卡

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

使用 Tensorflow Images

接着我们打开 Tensorflow 官方文件,里面详细的指引我们该如何下参数。

以我为例子可以使用以下 Docker 指令,启动一个 Tensorflow-GPU 容器,并完成基本的测试。

docker run --gpus all -it --rm tensorflow/tensorflow:latest-gpu \
   python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

结语

明天我们继续来看看在 VM 及 container 内的效能。


<<:  [Day27] VSCode Plugin - WakaTime

>>:  不用再记甚麽时候要更新凭证 - Aotumation Accounts Scheduler

Day 8 - DOM - Element Object

Element Object 所有的 HTML Elements 都继承了 Element Obje...

Day 26 批次网路影片下载工具 - youtube-dl-server

说到百花齐放的网路影片平台中,若有批次下载离线观看在 Youtube, Facebook, vime...

VirtualBox VM 安装 ChromeOS

ChromeOS 版本 Download Cr OS Linux 2.4.1290 (x86) Li...

28 JavaScript 的基础:AJAX 和 SetTimeout()

AJAX即「Asynchronous JavaScript and XML」(非同步的JavaSc...

Day-17 TextView

TextView可说是最常用的元件, 它可以将文字显示於APP画面上, 但在了解Tetx的属性之前,...