Help us understand the problem. What is going on with this article?

nvidia-dockerをUbuntuで動かす

More than 1 year has passed since last update.

はじめに

機械学習を行うにあたって環境構築した際のメモを残す。
本家GitHub: NVIDIA/nvidia-docker
これを導入したいが、英語力が無さすぎたので下記Qiitaを参考にした。
Qiita: nvidia-docker2を試してみる

構成

  • マシン:Mouse MASTERPIECE i1720PA1-SP2
  • OS:Ubuntu 16.04.5 LTS

Ubuntuインストール

参考記事
Qiita:【罠がいっぱい!】ubuntu 16.04 LTS をMSI製ノート(GE62 6QC)にinstall

Dockerインストール

参考記事
Qiita: Ubuntuにdockerをインストールする
※本題から逸れるが、下記も併せて実施した
Dockerコマンドをsudoなしで実行する方法

nvidiaドライバインストール

参考記事
Qiita: UbuntuにNVIDIAドライバを入れる手順

  • リモートから作業しているとssh切られるのでローカルで作業することを推奨

    • このあたりのコマンドで落ちた
      • sudo service lightdm stop
  • ドライバ選択

    • nvidia-XXX を選択する所で ここ とかを参考にバージョンを選ぼうとしたが、困ったことに公式の最新とapt-getの最新が違う(公式の方が新しい)(2018年08月17日現在)。
      • 公式 (=390)
        • nVIDIA
      • apt-get (=384)
    • →仕方ないのでapt-getできる方を試した
      • sudo apt-get install nvidia-384
  • このあとrebootを促されるハズなので従う。

    • upgradeを勧めてくるが無視してOK。

ドライバ動作確認

  • nvidia-smi コマンドで GeForce GTX が搭載枚数分見えていればOK
$ nvidia-smi
Fri Aug 17 15:02:51 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48                 Driver Version: 390.48                    |
|-------------------------------+----------------------+----------------------+
| 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 108...  Off  | 00000000:17:00.0 Off |                  N/A |
| 25%   34C    P8    12W / 250W |      2MiB / 11178MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX 108...  Off  | 00000000:65:00.0  On |                  N/A |
| 25%   41C    P8    13W / 250W |    261MiB / 11175MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    1      1283      G   /usr/lib/xorg/Xorg                            18MiB |
|    1      1357      G   /usr/bin/gnome-shell                          49MiB |
|    1      2020      G   /usr/lib/xorg/Xorg                           104MiB |
|    1      2185      G   /usr/bin/gnome-shell                          85MiB |
+-----------------------------------------------------------------------------+

Qiita: カーネルのバージョン固定 についても書いてある通りに設定した

nvidia-docker2 のインストール

参考記事
Qiita: nvidia-docker2を試してみる

基本的に上記記事の通りにできるが、自分が混乱した所だけメモ
sudo apt-get install するところで、バージョン名を2つ指定する必要がある(下記)
sudo apt-get install -y nvidia-docker2={バージョン名1} nvidia-container-runtime={バージョン名2}
これは、docker --version の結果に合わせて sudo apt-cache madison nvidia-docker2 nvidia-container-runtime の結果の中から選択することになる。

$ sudo docker --version
Docker version 18.06.0-ce, build 0ffa825

私の場合はDockerのバージョンが18.06.0だったので、

$ sudo apt-cache madison nvidia-docker2 nvidia-container-runtime
nvidia-docker2 | 2.0.3+docker18.06.1-1 | https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  Packages
nvidia-docker2 | 2.0.3+docker18.06.0-1 | https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  Packages
nvidia-docker2 | 2.0.3+docker18.03.1-1 | https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  Packages
(中略)
nvidia-container-runtime | 2.0.0+docker18.06.1-1 | https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  Packages
nvidia-container-runtime | 2.0.0+docker18.06.0-1 | https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  Packages
nvidia-container-runtime | 2.0.0+docker18.03.1-1 | https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  Packages
(以下略)

nvidia-docker2(=バージョン名1)・・・ 2.0.3+docker18.06.0-1
nvidia-container-runtime(=バージョン名2)・・・2.0.0+docker18.06.0-1
とした。具体的なコマンドは以下のようになる。
sudo apt-get install -y nvidia-docker2=2.0.3+docker18.06.0-1 nvidia-container-runtime=2.0.0+docker18.06.0-1

最後に

コメント、修正依頼ありましたらお気軽に!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away