> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-run-filter-ui-updates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> APIキー、環境変数、ローカルファイルストレージを設定して、Dockerコンテナー内でW&Bを実行する方法。

# Docker

<div id="docker-integration">
  ## Docker インテグレーション
</div>

W\&B は、コードの実行に使用された Docker image への参照を保存できます。これにより、以前の実験を実行時とまったく同じ環境で復元できます。wandb ライブラリは、この状態を保持するために **WANDB\_DOCKER** 環境変数を参照します。この状態を自動的に設定するヘルパーもいくつか用意されています。

<div id="local-development">
  ### ローカル開発
</div>

`wandb docker` は、Dockerコンテナーを起動し、wandb の環境変数を渡してコードをマウントし、wandb がインストールされている状態を確保するコマンドです。デフォルトでは、このコマンドは TensorFlow、PyTorch、Keras、Jupyter がインストールされた Docker image を使用します。同じコマンドで独自の Docker image を起動することもできます: `wandb docker my/image:latest`。このコマンドは現在のディレクトリーをコンテナー内の "/app" ディレクトリーにマウントします。これは `--dir` フラグで変更できます。

<div id="production">
  ### 本番
</div>

`wandb docker-run` コマンドは、本番ワークロード向けに提供されています。これは `nvidia-docker` をそのまま置き換えて使えるように設計されています。`docker run` コマンドのシンプルなラッパーで、認証情報と **WANDB\_DOCKER** 環境変数をコマンド呼び出しに追加します。`"--runtime"` フラグを渡さず、マシン上で `nvidia-docker` が利用可能な場合は、ランタイムが nvidia に設定されることも保証されます。

<div id="kubernetes">
  ### Kubernetes
</div>

Kubernetes でトレーニングのワークロードを実行しており、k8s API が pod に公開されている場合 (これはデフォルトです) 、wandb は API に対して Docker image のダイジェストをクエリし、**WANDB\_DOCKER** 環境変数を自動的に設定します。

<div id="restoring">
  ## 復元
</div>

run が **WANDB\_DOCKER** 環境変数を使って記録されている場合、`wandb restore username/project:run_id` を実行すると、コードを復元した新しいブランチがチェックアウトされ、続いて元のコマンドがあらかじめ設定された、トレーニングに使用されたものとまったく同じ Docker image が起動します。
