Linux サーバー上で nvidia-docker 環境を設定するプロセスの詳細な説明

Linux サーバー上で nvidia-docker 環境を設定するプロセスの詳細な説明

Docker はコンテナに相当し、必要な動作環境に応じて対応する動作環境を構築できます。このとき、各環境は互いに分離されているため、新しいコードを実行する必要があるときに、元の実行コードに必要な環境を破棄する必要はありません。各環境は、各コンテナが分離しているのと同じように、互いに分離されています。

dockerはCPU上でのみ実行するため、GPU上で実行する必要があるサーバーにはnvidia-dockerが提供されます。

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP docker

サーバーのサブアカウントでnvidia-dockerを構築する方法については、Baiduの各場所で説明が異なります。そのため、Googleで関連文書を参照した後、サーバーのサブアカウントでnvidia-dockerを構築する方法を次に示します。

簡単に言うと、nvidia-docker をインストールするには 3 つの手順があります。

NVIDIA ドライバーをインストールする
Dockerをインストールする
nvidia-dockerをインストールする

グラフィックドライバーをインストールする

当社のサーバーやほとんどのサーバーでは、マシンのインストール時にこの手順が必要なので、この手順は直接無視します。具体的な質問については、Baidu で検索できます。

Dockerをインストールする

Dockerには、コミュニティエディション(CE)とエンタープライズエディション(EE)の2つのバージョンがあります。NVIDIAグラフィックスドライバーと同様に、適切なインストールファイルを選択するにはLinuxバージョンを知る必要があります。次のインストールバージョンは、Ubuntu 16.04にコミュニティバージョンをインストールするためのものです。

Dockerをインストールする手順は次のとおりです。

まず、コンピュータから古いバージョンのDockerを削除する必要があります。マシンにDockerをインストールするのが初めてであることが確実な場合は、この手順は省略できます。そうでない場合は、次のコマンドを実行することをお勧めします。

sudo apt-get remove docker docker-engine docker.io

マシンに docker がインストールされていない場合は、apt-get がそのことを通知します。

次に、Docker をインストールします。新しいバージョンがリリースされたときにリポジトリから簡単に更新を取得できるように、リポジトリから Docker をインストールすることをお勧めします。

リポジトリからdockerをインストールするには、まずdockerリポジトリを作成する必要があります。通常はaptパッケージを更新する必要があります。

apt パッケージインデックスを更新する

sudo apt-get update

次に、aptがHTTP経由で通信できるようにパッケージをインストールします。

sudo apt-get インストール \
  apt-transport-https \
  ca証明書\
  カール\
  ソフトウェアプロパティ共通

次に、Dockerの公式GPGキーを追加します

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo pt-key add -

次のコマンドが9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88を出力することを確認します。

sudo apt-key fingerprint 0EBFCD88

次に、次のコマンドを実行して、apt に安定リポジトリを使用するように指示します。

sudo aptリポジトリを追加\
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
(usb_release -cs) \
安定した"

この時点で、ナレッジベースの構築が完了しました。次に、aptパッケージインデックスを更新し、Docker CEをインストールします。

sudo apt-get update && apt-get install docker-ce

この手順の後は、インストールを待つだけです。ダウンロードには長い時間がかかります。そのままお待ちください。

dockerをインストールした後、もちろんインストールが成功したかどうかを確認する必要があります。

有名なhello-worldイメージを使用して、dockerのインストールが成功したかどうかをテストします。

sudo docker run hello-world

次のインターフェースが表示されれば、Dockerが正常にインストールされたことがわかります。

nvidia-dockerをインストールする

次のステップでは、コンテナが GPU 環境を使用できるようにする Docker のプラグインである nvidia-docker をインストールして作業を完了します。

まず、既存のnvidia-dockerを削除する必要があります

docker ボリューム ls -q -f ドライバー = nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volum = {} | xargs -r docker
sudo apt-get purge -y nvidia-docker

以前にインストールしたことがない場合は、この手順をスキップできます。

次に、必要なリポジトリを追加し、aptパッケージインデックスを更新します。

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
sudo apt-keyを追加 -

curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-getアップデート

最後に、nvidia-dockerをインストールします。

sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

インストールが成功したら、インストールしたnvidia-dockerを確認します。

docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

次のコマンドを初めて使用する場合は、Docker が何かをダウンロードしようとしていることがわかります。

ここで、インストールプロセス全体が完了します。

速報です!かつて、サーバーのグラフィックカードがクラッシュした後、グラフィックカードのドライバーを再インストールしたところ、nvidia-docker環境が消えていたことに驚きました。しかし、次のように入力しました。

docker version

docker が存在することが示されているので、前のインストール手順に従って nvidia-docker をインストールするだけです。インストールが成功すると、幸いなことに、dockerfile に従って構築された実験環境がまだ存在していることがわかります。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker に influxdb をインストールするための詳細なチュートリアル (パフォーマンス テスト)
  • Docker 国内イメージ取得とイメージ高速化のレジストリミラー設定変更の詳しい説明
  • Dockerコンテナを使用してホストネットワークにアクセスする方法
  • Dockerfile の COPY コマンドと ADD コマンドの詳細な説明
  • 最高のDockerfileを書く方法
  • Mac OS に Vagrant と Docker をインストールするチュートリアル
  • Dockerコンテナの起動後にポートマッピングを追加する
  • Docker コンテナ アプリケーションで避けるべき 10 の悪い習慣

<<:  条件によるMysqlカウントの複数の実装方法を詳細に解説

>>:  Vueはボールのスライディングクロス効果を実現します

推薦する

CentOS で Mysql を再起動するさまざまな方法 (推奨)

1. rpm パッケージ経由でインストールされた MySQL サービスmysqldを再起動 /et...

HTML メタの説明

導入メタタグは、HTML言語のHEAD領域にある補助タグです。 meta は、ページの説明、キーワー...

進捗バー効果を実現するJavaScript

この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

IE アドレスバーのアイコン表示問題を解決する 3 つの手順

<br />この Web ページ制作スキル チュートリアルは、Web サイトのアイコンを...

Windows で Mysql を起動したときに 1067 が表示される場合の解決策

数日前に仕事を始めて、Mysql をインストールしたところ、開くことができました。今日、会社に行った...

HTML マークアップ言語 - テーブルタグ

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

CSS3のvar()を使用して実行時にscss変数の値を変更する詳細な説明

var() の紹介と使用法詳細 (MDN) IEは無効ですが、他の主流のブラウザは有効ですvar()...

MySQLのマスタースレーブレプリケーションと読み取り書き込み分離を理解するための記事

目次導入1. MySQL マスタースレーブレプリケーション1. MySQLレプリケーションタイプ2....

CSSフィルターにはどんな魔法の用途があるか

背景基本概念CSS filterプロパティは、ぼかしや色の変化などのグラフィック効果を要素に適用して...

MySQL の垂直テーブルを水平テーブルに変換する方法と最適化のチュートリアル

1. 縦型テーブルと横型テーブル垂直テーブル: テーブル内のフィールドとフィールド値はキーと値の形式...

Vueのトグルボタンをクリックしてボタンを有効にし、無効にします。

実装方法は3つのステップに分かれています。テンプレートに 2 つのボタンを設定し、v-if と v-...

Windows Server 2008 R2 サーバーが理由もなく自動的に再起動する問題の解決策

Windows Server 2008 サーバーが自動的に再起動します。サーバーにログインした後、ど...

WeChatミニプログラム公式顔認証の詳しい説明

ミニプログラムはユーザーの個人情報を収集してアップロードしましたが、拒否されました。こんにちは、ミニ...

vue の v-bind を理解する

目次1. v-bindの主要ソースコードの分析1. v-bind属性はどこに均一に保存されるか: a...

MySQLのLIMIT文について詳しく説明します

目次質問サーバー層とストレージエンジン層LIMITって何ですか?何をするか?トゥカオ最近、Q&...