8
3

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 3 years have passed since last update.

研究室でDockerを使うメリット

Posted at

はじめに

私は現在、大学院の修士2年生の学生です。4月になり新しく研究室に入ってくる人がいるタイミングで、研究室内でこれまでの古い研究環境から、Dockerを使った新しい環境にしようという動きが出てきました。今まさに色々調べている段階なのですが、どういう構成で環境を構築することになったのか、また研究室でDockerを使用するとどのようないいことがあるのか、ということをお話ししていこうと思います。

研究環境の全体像

overall.png
この全体像は新入生向けに作ったもので、Windowsを使っていたり、Jupyterを使っていたりするのですが、参考になるかもしれないので一応載せておきます。

研究室でDockerを使用する主なメリット

  • 環境構築が楽
    今までは環境構築が大変でした(Python入れて、Tensorflow入れて、さらにGPUを使うのであればさらに色々しないと動かないみたいな🤮)
    それをDockerを使えば,コマンド一つでこれら全ての設定を良い感じに行なってくれます。

  • 実行環境を簡単に共有できる
    例えば、先輩のソースコードをGitHubなどからとってきて実行したいみたいな場面は研究室ではそこそこあると思います。これまでは、Pythonやライブラリのバージョンまではすぐに再現することができませんでした。そのため、バージョンなどに起因するエラーが発生して詰まるといった問題が発生したりしていました。これもDockerを使えば,環境を文書化して共有することができ,簡単に全く同じ環境を再現することができます。

  • GPUを搭載したパソコンを複数人で使う場合に、CUDAのバージョンなどを合わせなくて良い
    私の研究室では、GPUを搭載しているパソコンは複数人で使うことが多いのですが、その際に誰かが1年前に入れたCUDAのバージョンに皆が合わせないといけないみたいな状態が生まれていました。このような問題もDockerを使えば、ドライバをダウンロードすればそれぞれの人が、好きなバージョンのCUDAを使用することができ、平和になるのではないかと考えています。

技術のざっくりとした説明

  • WSL2(Windows Subsystem for Linux)
    Windows上で、Linuxを利用することができるものです。純粋なLinuxカーネルを仮想マシン上で動作させています。DockerをWindowsで使う場合、WSL2を使用しなくても使うことはできますが、将来的にGPUを積んだ計算用のパソコンを使用する際には、Linuxを使うことになるので、どうせなら最初から同じ環境でやった方がいいということで使っています。

  • Docker
    何番煎じかという感じですが、コンテナ型の仮想化サービスを提供しています。以下の図がDockerの構成を表している.それぞれの用語の説明をすると,
    docker.png

    • Dockerホスト
      Dockerが動作している仮想マシン(今回の場合はWSL2にあたる?)
    • Dockerサーバー
      コンテナとDockerイメージを管理するサーバ
    • Dockerクライアント
      利用者がDockerを使用するために操作するコマンドやツール群
    • Dockerイメージ
      コンテナを立ち上げるために必要なミドルウェアなどの設定やコマンドが、ひとまとめになったテンプレート(Ubuntu, Python, Tensorflow…)
    • コンテナ
      Dockerイメージをもとに作られた仮想環境のこと.これが,Pythonなどを実行する環境になる.
    • Dockerレジストリ(DockerHub等)
      Dockerのイメージが公開されているサイト.フリーのソフトウェアのイメージをはじめ、個人で作成したイメージも公開されている.Dockerコマンドなどから簡単にダウンロードすることができる.
  • Jupyter
    新入生向けの環境を考えているので今回はなるべく、環境構築の複雑さを省くためにブラウザから操作できるJupyterを使用してもらうことを考えています。

8
3
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
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?