<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
		<id>https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?action=history&amp;feed=atom&amp;title=NVIDIA_Docker%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB</id>
		<title>NVIDIA Dockerのインストール - 変更履歴</title>
		<link rel="self" type="application/atom+xml" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?action=history&amp;feed=atom&amp;title=NVIDIA_Docker%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB"/>
		<link rel="alternate" type="text/html" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?title=NVIDIA_Docker%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;action=history"/>
		<updated>2026-04-30T00:22:00Z</updated>
		<subtitle>このウィキのこのページに関する変更履歴</subtitle>
		<generator>MediaWiki 1.23.6</generator>

	<entry>
		<id>https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?title=NVIDIA_Docker%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;diff=15892&amp;oldid=prev</id>
		<title>Kttn: ページの作成:「* https://github.com/NVIDIA/nvidia-docker ** ホストマシンのNvidia GPUデバイスとGPUドライバをDockerコンテナ内から使える様にする。 ** Docker...」</title>
		<link rel="alternate" type="text/html" href="https://www.yasunaga-lab.bio.kyutech.ac.jp/EosJ/index.php?title=NVIDIA_Docker%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB&amp;diff=15892&amp;oldid=prev"/>
				<updated>2019-05-14T05:33:57Z</updated>
		
		<summary type="html">&lt;p&gt;ページの作成:「* https://github.com/NVIDIA/nvidia-docker ** ホストマシンのNvidia GPUデバイスとGPUドライバをDockerコンテナ内から使える様にする。 ** Docker...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;* https://github.com/NVIDIA/nvidia-docker&lt;br /&gt;
** ホストマシンのNvidia GPUデバイスとGPUドライバをDockerコンテナ内から使える様にする。&lt;br /&gt;
** Dockerコンテナの&amp;quot;ランタイム&amp;quot;の一種のようだが、ランタイムとは何なのかがよくわからない。Dockerの拡張機能的なものだと(勝手に)思って使っている。&lt;br /&gt;
** GPUドライバはホストマシンのものに限定されるが、CUDAやcuDNNなどのライブラリはコンテナ内で好き勝手使えるため、CUDAバージョンごとでコンテナを分けて開発、作業したりできる。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* インストール方法&lt;br /&gt;
** Dockerをインストールした後で行う。&lt;br /&gt;
** 方法は https://github.com/NVIDIA/nvidia-docker のQuickstartに全部書いてある。&lt;br /&gt;
** 一応打ったコマンドを以下に載せる。(2019/5/14)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* GPG鍵の登録&lt;br /&gt;
 $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey |   sudo apt-key add -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* リポジトリを追加&lt;br /&gt;
 $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)&lt;br /&gt;
 $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \&lt;br /&gt;
    sudo tee /etc/apt/sources.list.d/nvidia-docker.list&lt;br /&gt;
&lt;br /&gt;
/etc/apt/sources.list.d/nvidia-docker.listの中身はこんな感じ&lt;br /&gt;
 deb https://nvidia.github.io/libnvidia-container/ubuntu16.04/$(ARCH) /&lt;br /&gt;
 deb https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/$(ARCH) /&lt;br /&gt;
 deb https://nvidia.github.io/nvidia-docker/ubuntu16.04/$(ARCH) /&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* パッケージインデックスの取得&lt;br /&gt;
 $ sudo apt update&lt;br /&gt;
&lt;br /&gt;
上記登録したリポジトリからインデックスを取得できています。&lt;br /&gt;
 ヒット:1 http://jp.archive.ubuntu.com/ubuntu xenial InRelease&lt;br /&gt;
 取得:2 http://jp.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]                                     &lt;br /&gt;
 取得:3 http://jp.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]                                   &lt;br /&gt;
 取得:4 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64  InRelease [1,139 B]                       &lt;br /&gt;
 取得:5 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  InRelease [1,136 B]                  &lt;br /&gt;
 取得:6 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  InRelease [1,129 B]                             &lt;br /&gt;
 ヒット:7 https://download.docker.com/linux/ubuntu xenial InRelease                                               &lt;br /&gt;
 取得:8 https://nvidia.github.io/libnvidia-container/ubuntu16.04/amd64  Packages [6,712 B]&lt;br /&gt;
 取得:9 https://nvidia.github.io/nvidia-container-runtime/ubuntu16.04/amd64  Packages [7,588 B]&lt;br /&gt;
 ヒット:10 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial InRelease                &lt;br /&gt;
 取得:11 https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  Packages [7,684 B] &lt;br /&gt;
 取得:12 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]&lt;br /&gt;
 取得:13 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [68.0 kB]&lt;br /&gt;
 取得:14 http://security.ubuntu.com/ubuntu xenial-security/main DEP-11 64x64 Icons [67.0 kB]&lt;br /&gt;
 取得:15 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [116 kB]&lt;br /&gt;
 取得:16 http://security.ubuntu.com/ubuntu xenial-security/universe DEP-11 64x64 Icons [173 kB]&lt;br /&gt;
 取得:17 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 DEP-11 Metadata [2,464 B]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* NVIDIA Dockerのインストール&lt;br /&gt;
 $ sudo apt install -y nvidia-docker2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 一旦Dockerデーモンを停止。次回起動する時に新しい設定を読み込ませるための処置みたい。&lt;br /&gt;
 $ sudo pkill -SIGHUP dockerd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 動作テスト -NVIDIA Dockerを使ってDockerコンテナを起動し、その中でnvidia-smiコマンドを起動し、出力をホストマシンのコンソールへ戻す-&lt;br /&gt;
 $ docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi&lt;br /&gt;
&lt;br /&gt;
出力&lt;br /&gt;
 Unable to find image 'nvidia/cuda:9.0-base' locally&lt;br /&gt;
 9.0-base: Pulling from nvidia/cuda&lt;br /&gt;
 34667c7e4631: Pull complete &lt;br /&gt;
 d18d76a881a4: Pull complete &lt;br /&gt;
 119c7358fbfc: Pull complete &lt;br /&gt;
 2aaf13f3eff0: Pull complete &lt;br /&gt;
 4d96b2dafaa5: Pull complete &lt;br /&gt;
 f8c41b380cab: Pull complete &lt;br /&gt;
 d2c1b4858446: Pull complete &lt;br /&gt;
 Digest: sha256:0afacc402b0eb2333d1075d051e237710483b29cdd51c4e7de5d60be4cb1468f&lt;br /&gt;
 Status: Downloaded newer image for nvidia/cuda:9.0-base&lt;br /&gt;
 docker: Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused &amp;quot;process_linux.go:424: container init caused \&amp;quot;process_linux.go:407: running prestart hook 1 caused \\\&amp;quot;error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig.real --device=all --compute --utility --require=cuda&amp;gt;=9.0 --pid=12852  /var/lib/docker/aufs/mnt/7ebf9cc5554558f39056930a1eeb8e5a5751db71c5db608960e4bf4a9ee10921]\\\\nnvidia-container-cli: initialization error: cuda error: no cuda-capable device is detected\\\\n\\\&amp;quot;\&amp;quot;&amp;quot;: unknown.&lt;br /&gt;
えー...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* 対処&lt;br /&gt;
** VirtualGLのせいらしい ([https://github.com/NVIDIA/libnvidia-container/issues/37 参考１]、[https://qiita.com/exthnet/items/f56a404002eb02cae5f2 参考２])&lt;br /&gt;
 $ ls -l /dev/nvidia*&lt;br /&gt;
 crw-rw---- 1 root vglusers 195, 254  5月 12 21:24 /dev/nvidia-modeset&lt;br /&gt;
 crw-rw-rw- 1 root root     241,   0  5月 14 14:03 /dev/nvidia-uvm&lt;br /&gt;
 crw-rw-rw- 1 root root     241,   1  5月 14 14:03 /dev/nvidia-uvm-tools&lt;br /&gt;
 crw-rw---- 1 root vglusers 195,   0  5月 12 21:24 /dev/nvidia0&lt;br /&gt;
 crw-rw---- 1 root vglusers 195,   1  5月 12 21:24 /dev/nvidia1&lt;br /&gt;
 crw-rw---- 1 root vglusers 195,   2  5月 12 21:24 /dev/nvidia2&lt;br /&gt;
 crw-rw---- 1 root vglusers 195,   3  5月 12 21:24 /dev/nvidia3&lt;br /&gt;
 crw-rw---- 1 root vglusers 195, 255  5月 12 21:24 /dev/nvidiactl&lt;br /&gt;
GPUデバイスの所有者はrootだが、グループがvglusersになっていることが問題の様。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Nvidia Dockerの設定ファイル /etc/nvidia-container-runtime/config.toml に、以下の行を追加すればいい様。&lt;br /&gt;
 user = &amp;quot;root:vglusers&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
再度実行してみる&lt;br /&gt;
 $ docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi&lt;br /&gt;
 Tue May 14 05:19:30 2019       &lt;br /&gt;
 +-----------------------------------------------------------------------------+&lt;br /&gt;
 | NVIDIA-SMI 418.74       Driver Version: 418.74       CUDA Version: 10.1     |&lt;br /&gt;
 |-------------------------------+----------------------+----------------------+&lt;br /&gt;
 | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |&lt;br /&gt;
 | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |&lt;br /&gt;
 |===============================+======================+======================|&lt;br /&gt;
 |   0  GeForce GTX 1080    Off  | 00000000:05:00.0  On |                  N/A |&lt;br /&gt;
 | 29%   44C    P8     7W / 180W |     37MiB /  8119MiB |      1%      Default | &lt;br /&gt;
 +-------------------------------+----------------------+----------------------+&lt;br /&gt;
 |   1  GeForce GTX 1080    Off  | 00000000:06:00.0 Off |                  N/A |&lt;br /&gt;
 | 28%   41C    P8     6W / 180W |      2MiB /  8119MiB |      1%      Default | &lt;br /&gt;
 +-------------------------------+----------------------+----------------------+&lt;br /&gt;
 |   2  GeForce GTX 1080    Off  | 00000000:09:00.0 Off |                  N/A |&lt;br /&gt;
 | 27%   36C    P8     6W / 180W |      2MiB /  8119MiB |      1%      Default |&lt;br /&gt;
 +-------------------------------+----------------------+----------------------+&lt;br /&gt;
 |   3  GeForce GTX 1080    Off  | 00000000:0A:00.0 Off |                  N/A |&lt;br /&gt;
 | 27%   37C    P8     6W / 180W |      2MiB /  8119MiB |      0%      Default |&lt;br /&gt;
 +-------------------------------+----------------------+----------------------+&lt;br /&gt;
                                                                                &lt;br /&gt;
 +-----------------------------------------------------------------------------+&lt;br /&gt;
 | Processes:                                                       GPU Memory |&lt;br /&gt;
 |  GPU       PID   Type   Process name                             Usage      |&lt;br /&gt;
 |=============================================================================| &lt;br /&gt;
 +-----------------------------------------------------------------------------+&lt;br /&gt;
&lt;br /&gt;
はい、動きました。&lt;/div&gt;</summary>
		<author><name>Kttn</name></author>	</entry>

	</feed>