24
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

nvidia-docker+Dockerfileなコンテナの立て方

Last updated at Posted at 2019-05-03

とどのつまり

予めDockerfileをしっかり書きたい、しかしnvidia-docker(2)使うときは、

# Test nvidia-smi with the latest official CUDA image
$ docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

みたいにnvidia製のイメージを使わないとうまくいかなそう、どうすればいいの...?って思ったのでいろいろやってみた

結論、

$ docker run --runtime=nvidia オリジナルのDockerfileをビルドしたイメージ

でいけた。ただしDockerfileは本家に倣う必要あり。

ホスト環境

  • ubuntu16.04
  • cuda9.0
  • nvidia-docker2

作りたいコンテナ

  • ubuntu16.04
  • cuda9.0 + cudnn7
  • とりあえず nvidia-smi が動いてほしい

やったこと

Dockerfileを書く

  • 本家nvidia/cudaのDockerfileを拾ってきました。

  • 変な環境変数?等あったので適当にコメントアウトしつつ書き換えました

# ARG IMAGE_NAME
# FROM ${IMAGE_NAME}:9.0-devel-ubuntu16.04
FROM nvidia/cuda:9.0-devel-ubuntu16.04
# LABEL maintainer "NVIDIA CORPORATION <cudatools@nvidia.com>"
ENV CUDNN_VERSION 7.5.0.56
# LABEL com.nvidia.cudnn.version="${CUDNN_VERSION}"
RUN apt-get update && apt-get install -y --no-install-recommends \
            libcudnn7=$CUDNN_VERSION-1+cuda9.0 \
            libcudnn7-dev=$CUDNN_VERSION-1+cuda9.0 && \
    apt-mark hold libcudnn7 && \
    rm -rf /var/lib/apt/lists/*

イメージを作る

  • 書いたDockerfileがあるディレクトリで
$ docker build ./ -t cuda-9.0-cudnn7-devel
  • -t オプションで適当にcuda~~~っていう名前をつけました

じっこう!

$ docker run --runtime=nvidia --rm cuda-9.0-cudnn7-devel nvidia-smi

Screenshot from 2019-05-03 14-25-36.png

以上!

1マイクロミリバイト以上の情報を得たらいいねしよう☆

24
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?