> For the complete documentation index, see [llms.txt](https://unsloth.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://unsloth.ai/docs/jp/meru/install/docker.md).

# DockerでUnslothをインストールする

公式Dockerコンテナを使ってUnslothをインストールします

Unsloth Dockerコンテナを使ってモデルの実行と学習を行う方法を学びましょう。セットアップ不要です。依存関係はすべて事前にインストール済みです。イメージをpullするだけで、ローカルのNVIDIAまたはAMD GPU上でモデルの実行と学習を始められます。

| **NVIDIA** Docker: [**`unsloth/unsloth`**](https://hub.docker.com/r/unsloth/unsloth) | **AMD** Docker: [**`unsloth/unsloth-rocm`**](https://hub.docker.com/r/unsloth/unsloth-rocm) |
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- |

{% hint style="success" %}
**新着 2026年9月: Unsloth Dockerコンテナは、Unsloth StudioとAMD対応で更新されました。**

Unslothは、不要な再ダウンロードを避けるため、ノートブックやスクリプトと同じキャッシュを共有します。
{% endhint %}

### クイックスタート

このガイドのセクションはNVIDIA GPU搭載システムに適用されます。もし [AMDの場合はこちら](#amd-quickstart).

{% tabs %}
{% tab title="Linux / WSL" %}
NVIDIA GPUでUnslothのDockerを使うには、端末で以下を実行してください:

```bash
docker run -d --name unsloth --gpus all --ipc=host \
  --ulimit memlock=-1 --ulimit stack=67108864 \
  -p 8000:8000 -p 8888:8888 \
  -e JUPYTER_PASSWORD="mypassword" \
  -v "$PWD":/workspace/host \
  -v "$HOME/.cache/huggingface":/workspace/.cache/huggingface \
  -v unsloth-studio:/opt/unsloth-studio \
  unsloth/unsloth
```

* プロジェクトフォルダから実行してください。そのフォルダ（`$PWD`)は `/workspace/host`.
* になるためです。フラグの意味: 8000番ポート（Unsloth Studio）と8888番ポート（JupyterLab）を公開し、3つの `-v` フラグでファイル、モデル、Unsloth Studioのデータを保持します。
* 要件: NVIDIAドライバ 570.26 以降。

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fz1bQUO7kRRL6jrzDKsRO%2FiShot_2026-09-17_16.30.18.png?alt=media&amp;token=1a5a23ee-e384-4bc7-b5f5-4cb934989094" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Windows (PowerShell)" %}
PowerShellで以下を実行してください:

```powershell
docker run -d --name unsloth --gpus all --ipc=host `
  --ulimit memlock=-1 --ulimit stack=67108864 `
  -p 8000:8000 -p 8888:8888 `
  -e JUPYTER_PASSWORD="mypassword" `
  -v "${PWD}:/workspace/host" `
  -v "${HOME}/.cache/huggingface:/workspace/.cache/huggingface" `
  -v "unsloth-studio:/opt/unsloth-studio" `
  unsloth/unsloth
```

* プロジェクトフォルダから実行してください。そのフォルダ（`${PWD}`)は `/workspace/host`.
* になるためです。フラグの意味: 8000番ポート（Unsloth Studio）と8888番ポート（JupyterLab）を公開し、3つの `-v` フラグでファイル、モデル、Unsloth Studioのデータを保持します。
* 要件: NVIDIAドライバ 570.26 以降。

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F70dKPYWYN9PrkPkMtbdg%2Fimage.png?alt=media&amp;token=5b4a4309-c97b-4e65-8daa-babb312a97ca" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### 前提条件

NVIDIA Container Toolkit 用の Docker がインストールされていない場合は、以下に従ってください:

{% tabs %}
{% tab title="Linux / WSL" %}
インストール [Docker Engine](https://docs.docker.com/engine/install/) または [Docker Desktop](https://docs.docker.com/desktop/)を、まだの場合はインストールしてください:

```bash
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
```

NVIDIA GPUをお持ちの場合は、まだなら [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installation) をインストールしてください:

```bash
curl -fsSL https://raw.githubusercontent.com/unslothai/unsloth/main/docker/install_nvidia_toolkit.sh -o install_nvidia_toolkit.sh && sudo -E bash install_nvidia_toolkit.sh
```

{% endtab %}

{% tab title="Windows" %}
**Docker DesktopとNVIDIAドライバをインストールしてください。**

インストール [Windows向けDocker Desktop](https://docs.docker.com/desktop/setup/install/windows-install/) と最新の [NVIDIA Windowsドライバ](https://www.nvidia.com/Download/index.aspx)をインストールしてください。\
その後、PowerShellでWSLを更新します:

```powershell
wsl --update
```

Docker Desktopの設定で **一般** を選び、 **WSL 2 ベースのエンジンを使用する** が有効になっていることを確認してください。続行する前にエンジンが起動するのを待ってください。

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FNSQSDRFKVGyePWp7zKZA%2Fimage.png?alt=media&amp;token=0516785a-3fc1-41bc-8690-b98df7085fbf" alt=""><figcaption></figcaption></figure>

別途NVIDIA Container Toolkitをインストールする必要はありません。 [Windows GPUトラブルシューティング](https://docs.docker.com/desktop/features/gpu/).
{% endtab %}
{% endtabs %}

### AMD クイックスタート

このガイドのセクションはAMD GPU搭載システムに適用されます。もし [NVIDIAの場合はこちら](#quickstart).

{% tabs %}
{% tab title="Linux" %}
AMD GPUでUnslothのDockerを使うには、端末で以下を実行してください:

```bash
GPU_FLAGS="--device /dev/kfd"
[ -e /dev/dri ] && GPU_FLAGS="$GPU_FLAGS --device /dev/dri"
for g in video render; do
  gid=$(getent group "$g" | cut -d: -f3)
  [ -n "$gid" ] && GPU_FLAGS="$GPU_FLAGS --group-add $gid"
done
docker run -d --name unsloth \
  $GPU_FLAGS \
  --ipc=host \
  --ulimit memlock=-1 --ulimit stack=67108864 \
  -p 8000:8000 -p 8888:8888 \
  -e JUPYTER_PASSWORD="mypassword" \
  -v "$PWD":/workspace/host \
  -v "$HOME/.cache/huggingface":/workspace/.cache/huggingface \
  -v unsloth-studio:/opt/unsloth-studio \
  unsloth/unsloth-rocm
```

* プロジェクトフォルダから実行してください。そのフォルダ（`$PWD`)は `/workspace/host`.
* フラグの意味: `$GPU_FLAGS` GPUデバイスノードとグループIDを渡します。8000番ポート（Unsloth Studio）と8888番ポート（JupyterLab）を公開し、3つの `-v` フラグでファイル、モデル、Unsloth Studioのデータを保持します。
* 要件: 動作する `amdgpu` ドライバ。ROCm 7.2向けにビルドされており、RDNA1以降とCDNAをサポートします。
  {% endtab %}

{% tab title="WSL" %}
WSLでは、AMD GPUにはWSL2のDXGブリッジ経由でアクセスします。PowerShellではなく、WSL2ディストリビューション内でこれを実行してください。WSL2には `/dev/kfd` がないため、GPUは `/dev/dxg` として渡されます:

```bash
docker run -d --name unsloth --device /dev/dxg --ipc=host \
  --ulimit memlock=-1 --ulimit stack=67108864 \
  -e HSA_ENABLE_DXG_DETECTION=1 \
  -e LD_LIBRARY_PATH=/usr/lib/wsl/lib:/opt/rocm/lib \
  -p 8000:8000 -p 8888:8888 \
  -e JUPYTER_PASSWORD="mypassword" \
  -v /usr/lib/wsl/lib:/usr/lib/wsl/lib:ro \
  -v "$PWD":/workspace/host \
  -v "$HOME/.cache/huggingface":/workspace/.cache/huggingface \
  -v unsloth-studio:/opt/unsloth-studio \
  unsloth/unsloth-rocm
```

* WSL2内（`wsl -d Ubuntu`）から、プロジェクトフォルダで実行してください。そのフォルダ（`$PWD`)は `/workspace/host`.
* フラグの意味: `--device /dev/dxg` と `/usr/lib/wsl/lib` マウントによりGPUはWSL2経由でパススルーされます。8000番ポート（Unsloth Studio）と8888番ポート（JupyterLab）を公開し、3つの `-v` フラグでファイル、モデル、Unsloth Studioのデータを保持します。
* 要件: ホスト側でWSL2をサポートするAMD Windowsドライバ
  {% endtab %}

{% tab title="Windows (PowerShell)" %}
PowerShellで以下を実行してください:

```powershell
docker run -d --name unsloth --device /dev/dxg --ipc=host `
  --ulimit memlock=-1 --ulimit stack=67108864 `
  -e HSA_ENABLE_DXG_DETECTION=1 `
  -e LD_LIBRARY_PATH=/usr/lib/wsl/lib:/opt/rocm/lib `
  -p 8000:8000 -p 8888:8888 `
  -e JUPYTER_PASSWORD="mypassword" `
  -v "/usr/lib/wsl/lib:/usr/lib/wsl/lib:ro" `
  -v "${PWD}:/workspace/host" `
  -v "${HOME}/.cache/huggingface:/workspace/.cache/huggingface" `
  -v "unsloth-studio:/opt/unsloth-studio" `
  unsloth/unsloth-rocm
```

* プロジェクトフォルダから実行してください。そのフォルダ（`${PWD}`)は `/workspace/host`.
* 要件: WSL2をサポートするAMD Windowsドライバと、WSL 2 エンジンを使用するDocker Desktop。
  {% endtab %}
  {% endtabs %}

Dockerがインストールされていない場合は、以下のコマンドを実行してください:

```bash
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
```

AMDに必要なのはコンテナツールキットではなく、 `amdgpu` ホスト上のドライバだけです。Windowsでは、Docker DesktopとWSL2対応のAMDドライバをインストールしてください。

### 📖 使用ガイド

#### Unsloth Studio セットアップ

Unsloth Studioは事前インストール済みなので、同じDockerコンテナからモデルとチャットしたり、ファインチューニングしたり、画像を生成したりできます。

{% stepper %}
{% step %}
**Unslothコンテナを起動します。** \
完全な `docker run` コマンドをお使いのOS用に **クイックスタート** で実行し、起動に約1分待ちます。コンテナがすでに実行中なら、この手順は飛ばしてください。

```bash
docker start unsloth
```

{% endstep %}

{% step %}
**パスワードを確認します。** \
パスワードがまだ分からない場合は、コンテナログを確認してください:

```bash
docker logs -f unsloth
```

次を探してください **Unsloth container ready** リンクとパスワードの詳細を確認します。 **Ctrl+C** を押すとログ追跡を停止できます。コンテナは引き続き動作します。
{% endstep %}

{% step %}
**サインイン**

開く [`http://localhost:8000`](http://localhost:8000) にアクセスして `unsloth`としてサインインします。初回設定では、生成されたパスワードを使用し、求められたら新しいパスワードを選択してください。そうでない場合は、既存のパスワードを使用します。
{% endstep %}

{% step %}
**パスワードを忘れましたか？**

```bash
docker exec unsloth unsloth studio reset-password --username unsloth
```

これにより新しいパスワードが生成され、既存のセッションがサインアウトされ、APIキーが失効します。再起動は不要です。これらのコマンドでは、コンテナ名が `unsloth`であることを前提としています。必要なら `docker ps` を実行して名前またはIDを確認してください。

{% hint style="info" %}
Dockerが別のマシン（クラウドGPUやサーバーなど）で動作している場合、 `localhost` はあなたのコンピュータ自身を意味します。リンクを開く前にポート転送が必要です。実行: `ssh -L 8000:localhost:8000 -L 8888:localhost:8888 user@your-server`。詳細は [セキュリティノート](#security-notes) のセクションを参照してください。
{% endhint %}
{% endstep %}
{% endstepper %}

#### **モデルとチャットする**

{% hint style="info" %}
Unsloth StudioとJupyterLabは同じGPUを共有します。Unslothで読み込んだモデルは、アンロードするまでGPUメモリを保持します。メモリ不足になった場合は、Unslothでモデルをアンロードするか、ノートブックのカーネルを停止してください。
{% endhint %}

{% stepper %}
{% step %}
**モデルを選んでダウンロードする**

開く **モデルを選択** をページ上部で選びます。 **おすすめ**を閲覧するか、モデル名を入力して **Hubを検索** してHugging Faceを検索できます。 **Model hub**.

GGUFモデルでは、利用可能なRAMとVRAMに合う量子化を選んでください。 **OOM**.

と表示されたバリアントは避けてください。最初のメッセージを送る前に、モデルのダウンロードと読み込みが完了するのを待ってください。ダウンロード済みモデルは **On Device**.

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FgyDczCQqKkgh7ap2PuNU%2Fimage.png?alt=media&amp;token=740ee435-e68f-4811-8bb6-aa093526f74f" alt="Unsloth Studio model selector with Hugging Face search and recommended GGUF models." width="375"><figcaption><p>おすすめモデルを閲覧するか、名前で検索してください。</p></figcaption></figure>

{% hint style="info" %}
ダウンロードしたモデルは `/workspace/.cache/huggingface`に保存されます。クイックスタートのボリュームマウントにより、このキャッシュはノートブックと共有され、コンテナを削除してもコンピュータ上に残ります。
{% endhint %}
{% endstep %}

{% step %}
**メッセージを送る**

モデルの準備ができたら、メッセージを入力して **Enter**を押してください。試してみましょう:

> Dockerコンテナと仮想マシンの違いを説明してください。

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FKfzGAT0DLWirgWvkfK1x%2Fimage.png?alt=media&amp;token=afff9dd2-06d4-4f7b-bba5-8a4835143090" alt=""><figcaption></figcaption></figure>

こちらも参照 [Unsloth Studio Chat](/docs/jp/xin-zhe/studio/chat.md) のガイドで、ウェブ検索やその他のチャット設定を確認してください。
{% endstep %}
{% endstepper %}

#### **モデルを学習する**

テキスト、 [画像](https://unsloth.ai/docs/basics/vision-fine-tuning) および [音声](https://unsloth.ai/docs/basics/text-to-speech-tts-fine-tuning)をまたいでモデルを学習でき、 [埋め込み](https://unsloth.ai/docs/basics/embedding-finetuning) や画像拡散にも対応しています。すべて同じDockerイメージから行えます。

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F66Vvgt0l5iqAkAksIRYF%2Fimage.png?alt=media&amp;token=8fcb1ad6-2b53-4128-87fa-a47bcd1deab4" alt="" width="563"><figcaption></figcaption></figure>

**モデルとデータセットを選ぶ**

選択 **Train** を開いて **Configure**します。モデルと学習方法を選び、Hugging Faceデータセットを選択するか、自分のデータをアップロードしてください。

**学習を開始**

確認 **パラメータ** を **Simple** または **Advanced** モードで確認し、 **Start Training**をクリックします。進行状況、損失、GPU使用率を **Current Run**.

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FD7qpbGJLY5YMv0E0QgrB%2Ftrainingrun_LLM-unsloth.gif?alt=media&amp;token=feb766a7-1a7b-4f47-b5f4-b38e3a0d1470" alt=""><figcaption></figcaption></figure>

**学習済みモデルを試す**

学習が終わったら、 **Chatで比較**をクリックします。同じプロンプトで元モデルとファインチューニング済みモデルを試し、応答の違いを確認してください。

こちらも参照 [より詳細はStudioの学習ガイド](https://unsloth.ai/docs/new/studio/start) を参照するか、 [Data Recipes](https://unsloth.ai/docs/new/studio/data-recipe) を使ってデータセットを準備してください。

#### **画像を生成する**

{% stepper %}
{% step %}
**Imagesを開いてモデルを選ぶ**

選択 **Images** をサイドバーで開きます。 **Create** ワークフローがデフォルトで開きます。

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F6WVNnM49nQoTBfv57RAs%2Fimage%20(529).png?alt=media&amp;token=ff61651a-4560-4473-9232-d06024cb216e" alt="Unsloth Studio Images page with Create selected in the sidebar and prompt controls." width="375"><figcaption><p>Imagesを開いて、テキストプロンプトから画像を作成します。</p></figcaption></figure>

開く **画像モデルを選択** して **おすすめ**から選んでください。たとえば Z-Image-Turbo です。GGUFモデルでは、デバイスに合う量子化を選んでください。 **TIGHT** は動作が遅い場合があります; **OOM** は収まらない可能性が高いです。

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2F1gPBEymJifbpIE9lGfvd%2Fimage%20(530).png?alt=media&amp;token=6f1b3e41-2c5a-4c5a-9c75-f624c6f4ede6" alt="Image model selector showing Z-Image-Turbo-GGUF and available quantizations." width="375"><figcaption><p>画像モデルと、デバイスに合う量子化を選んでください。</p></figcaption></figure>
{% endstep %}

{% step %}
**プロンプトを入力して生成**

作成したい画像を説明してください。たとえば:

> 日本庭園の鯉の池を真上から撮影した写真。オレンジ、白、黒の鯉が何十匹も密集して泳ぎ、水底の石が見えるほど透明な水。表面には赤いカエデの葉が浮かんでいる。明るい正午の光、鮮やかな色、くっきりした反射。リアルな写真、50mm。

画像設定はデフォルトのままにして **Generate**.

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2Fy0qucNcG7XQlDVvv3XZE%2Fimage%20(493).png?alt=media&amp;token=47888a19-5384-4ace-b5d7-f90cf4fb9b0f" alt="Unsloth Studio Create images page with Z-Image-Turbo loaded, a koi pond prompt, a generated image, and Recipe and Download controls." width="563"><figcaption><p>Z-Image-Turboでの生成例。</p></figcaption></figure>

ギャラリーで画像を開いて **Download** をクリックして保存するか、 **Recipe** でプロンプトと設定を再利用します。

**変換**, **Inpaint** および **編集** は読み込まれたモデルに依存します。 [画像拡散ガイド](https://unsloth.ai/docs/basics/diffusion-image) で対応ワークフローと設定を確認してください。
{% endstep %}
{% endstepper %}

#### **JupyterLabにアクセスする**

{% columns %}
{% column %}
UnslothのDockerイメージには、JupyterLabとすぐ使えるノートブックが含まれています。

開く [`http://localhost:8888`](http://localhost:8888) にアクセスしてサインインしてください。 `JUPYTER_PASSWORD` として、コンテナ起動時に選んだパスワードを使用します。設定していない場合は、コンテナログに表示された生成済みパスワードを使ってください。

{% hint style="info" %}
JupyterLabのパスワードはコンテナ作成時に設定されます。変更するには、コンテナを削除して新しいパスワードで再作成してください。
{% endhint %}
{% endcolumn %}

{% column %}

<figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FQapcJDBCYgxaEfG5zEEn%2Fimage.png?alt=media&amp;token=8eb72fbd-8ca1-43f6-9c6a-e45cb7a06da0" alt="" width="375"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

サインイン後、 **Unsloth Notebooks**が表示され、フォルダはモデルとタスクごとにまとめられています。

これらのフォルダには、以下のノートブックファイルへのショートカットが含まれています。 `/workspace/unsloth-notebooks`。コンテナが起動するたびに、ノートブックはGitHubから更新されますが、\
あなたの編集内容は上書きされません。

ダブルクリック **01 Main Notebooks** を開いて例を閲覧するか、vision、speech、reinforcement learning などのカテゴリを選んでください。

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FXceIgyo451mqw1hchpXR%2Fimage.png?alt=media&amp;token=b32a2968-0e94-4eff-b6a5-ed9f9b617ca4" alt="" width="563"><figcaption></figcaption></figure></div>

#### **ノートブックでモデルをファインチューニングする**

学習を始める前に、Unsloth Studioで読み込まれているモデルをすべてアンロードして、ノートブックに必要なGPUメモリを確保してください。

でノートブックを開き **01 Main Notebooks** 、その指示に従ってください。 **Shift+Enter** を押して各セルを順番に実行します。最初の実行でモデルがHugging Faceキャッシュにダウンロードされます。

たとえば、 `Gemma3_(4B)-Vision.ipynb` では、数式画像をLaTeXに変換するためにGemma 3 4Bをファインチューニングする手順を案内します。

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FyLdWCorjvMlW0OPkE2v4%2Fimage.png?alt=media&amp;token=ca2e62b5-5857-4cbf-89f4-735030f1123b" alt="" width="563"><figcaption></figcaption></figure></div>

学習後は、ノートブックの **Inference** セクションを使ってモデルをテストしてください。学習済みモデルを数式画像でテストします。読みやすさのため、同じ数式をここに高解像度で再掲しています。

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FGJdMUUr0ig4NQL5TMk2I%2Fimage.png?alt=media&amp;token=fa1eb118-dcbd-4ad3-a8f4-48e47659c143" alt="" width="563"><figcaption></figcaption></figure></div>

モデルは元のデータセット画像からLaTeXを生成します。結果はセルの下に出力されます。

#### **モデルを保存してエクスポートする**

ノートブックのSavingセクションに従って、学習済みLoRAアダプタを保存するか、マージ済みモデルをエクスポートしてください。

のような相対パス `"gemma_3_lora"` は、ノートブックの隣の `/workspace/Unsloth Notebooks/...`に保存されます。そのフォルダはコンテナ内にあるため、コンテナを削除すると消えます。結果を自分のコンピュータに残すには、 `/workspace/host`.

* **LoRAアダプタをローカルに保存:** このセルはデフォルトで実行されます。パスを `/workspace/host`.

  ```python
  model.save_pretrained("/workspace/host/gemma_3_lora")
  processor.save_pretrained("/workspace/host/gemma_3_lora")
  ```
* **マージ済み16-bitモデルをエクスポート:** エクスポートセルで、 `if False:` を `if True:` に変更してください。希望する方だけを選びます。

  ```python
  if True: model.save_pretrained_merged("/workspace/host/unsloth_finetune", processor)
  ```

<div data-with-frame="true"><figure><img src="https://735611837-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxhOjnexMCB3dmuQFQ2Zq%2Fuploads%2FERw6laeLKXj5mLtoWB8y%2Fimage.png?alt=media&amp;token=5d43449b-cc98-4448-93f5-79599d39148f" alt="" width="563"><figcaption></figcaption></figure></div>

* **Hugging Faceへアップロード:** アップロードには書き込み権限のあるトークンが必要です。 `YOUR_USERNAME` および `YOUR_HF_TOKEN` のプレースホルダーを自分の情報に置き換えてください。

さらに詳しくは、 [ファインチューニングガイド](https://unsloth.ai/docs/get-started/fine-tuning-llms-guide), [RLガイド](https://unsloth.ai/docs/get-started/reinforcement-learning-rl-guide)と、 [ノートブックコレクション](https://github.com/unslothai/notebooks).

#### コンテナを停止、再起動、更新する

コマンドはイメージ名ではなくコンテナ名またはIDを受け取ります `unsloth/unsloth`.

コンテナを停止するが、保持する:

```bash
docker stop unsloth
```

同じ状態で戻す:

```bash
docker start unsloth
```

コンテナを再度見つける、実行中でも停止中でも:

```bash
docker ps -a
```

コンテナを停止して削除します:

```bash
docker rm -f unsloth
```

コンテナを削除しても、モデル、ホスト側のファイル（`/workspace/host`）や Unsloth Studio のデータ（アカウント、チャット、エクスポート）は削除されません。同じ `-v` フラグを付けた新しいコンテナは中断したところから続行し、Unsloth のパスワードも同じままです。コンテナ内に書き込まれたその他のものは失われます。

Unsloth Studio のデータを完全に削除するには、ボリュームを削除します:

```bash
docker volume rm unsloth-studio
```

最新の Unsloth バージョンに更新するには、新しいイメージを pull します:

```bash
#NVIDIA GPU
docker pull unsloth/unsloth
#AMD GPU
docker pull unsloth/unsloth-rocm
```

その後、古いコンテナを削除し、同じフラグで Quickstart コマンドをもう一度実行してください。モデル、ファイル、Unsloth Studio のデータは引き継がれます。

```bash
docker rm -f unsloth
```

#### **SSH で接続**

SSH は、 `SSH_KEY` または `PUBLIC_KEY`を設定しない限りオフです。コンテナ内のポート 22 で、 `root` ユーザーとしてキー認証のみで接続します。

SSH 鍵を生成します:

```bash
ssh-keygen -t ed25519 -f ~/.ssh/container_key
```

SSH 鍵はコンテナ作成時に適用されるため、追加するにはコンテナを再作成する必要があります。SSH ポートをホスト上の 2222 にマップし、パスワードを設定し、ボリュームをマウントするには、次の完全なコマンドを使用してください。

{% tabs %}
{% tab title="NVIDIA" %}

```bash
docker run -d --name unsloth --gpus all --ipc=host \
  --ulimit memlock=-1 --ulimit stack=67108864 \
  -p 8000:8000 -p 8888:8888 -p 2222:22 \\
  -e JUPYTER_PASSWORD="choose-a-jupyter-password" \\
  -e UNSLOTH_STUDIO_PASSWORD="choose-a-studio-password" \\
  -e SSH_KEY="$(cat ~/.ssh/container_key.pub)" \\
  -v "$PWD":/workspace/host \
  -v "$HOME/.cache/huggingface":/workspace/.cache/huggingface \
  -v unsloth-studio:/opt/unsloth-studio \
  unsloth/unsloth
```

{% endtab %}

{% tab title="AMD" %}

```bash
GPU_FLAGS="--device /dev/kfd"
[ -e /dev/dri ] && GPU_FLAGS="$GPU_FLAGS --device /dev/dri"
for g in video render; do
  gid=$(getent group "$g" | cut -d: -f3)
  [ -n "$gid" ] && GPU_FLAGS="$GPU_FLAGS --group-add $gid"
done
docker run -d --name unsloth $GPU_FLAGS --ipc=host \\
  --ulimit memlock=-1 --ulimit stack=67108864 \
  -p 8000:8000 -p 8888:8888 -p 2222:22 \\
  -e JUPYTER_PASSWORD="choose-a-jupyter-password" \\
  -e UNSLOTH_STUDIO_PASSWORD="choose-a-studio-password" \\
  -e SSH_KEY="$(cat ~/.ssh/container_key.pub)" \\
  -v "$PWD":/workspace/host \
  -v "$HOME/.cache/huggingface":/workspace/.cache/huggingface \
  -v unsloth-studio:/opt/unsloth-studio \
  unsloth/unsloth-rocm
```

{% endtab %}
{% endtabs %}

`UNSLOTH_STUDIO_PASSWORD` は、最初に `unsloth-studio` ボリュームが使用されたときにのみ適用されます。See [詳細設定](#advanced-settings) 以下のすべての環境変数、ボリューム、ポートを参照してください。

コンテナに接続します:

```bash
ssh -i ~/.ssh/container_key -p 2222 root@localhost
```

#### 📂 コンテナ構成

* `/workspace/host/` — マウントした作業ディレクトリ
* `/workspace/.cache/huggingface` — モデルとデータセットのダウンロード先
* `/workspace/.cache/triton` — コンパイル済み Triton カーネル
* `/workspace/unsloth-notebooks/` — 編集内容を含むサンプルのファインチューニング用ノートブック
* `/workspace/Unsloth Notebooks` — 起動のたびに再構築される、トピック別のサンプル・ファインチューニング用ノートブック
* `/opt/unsloth-studio` — Unsloth Studio のアカウント、チャット、出力、エクスポート、実行

### トラブルシューティング

#### **Unsloth が私の GPU を検出または使用しない**

モデルが Docker 用に GPU を使っていない場合は、次を試してください:

最新イメージを手動で pull する:

```bash
 #NVIDIA GPU
 docker pull unsloth/unsloth:latest
 #AMD GPU
 docker pull unsloth/unsloth-rocm:latest
```

* GPU アクセスを有効にしてコンテナを起動します:
  * `docker run`: `--gpus all`
  * Docker Compose: `capabilities: [gpu]`
  * AMD: `--device /dev/kfd --device /dev/dri` に加えて `--group-add` ids（ `$GPU_FLAGS` Quickstart のブロック）
* Linux（NVIDIA）では、NVIDIA Container Toolkit がインストールされていること、またインストール後に docker を再起動していることを確認してください。
* Windows（NVIDIA）では:
  * 次を実行します `docker exec unsloth nvidia-smi`。GPU が一覧に表示されれば、コンテナから認識されています。
  * 次に従ってください [Docker のガイド](< https://docs.docker.com/desktop/features/gpu/>)
* AMD では次を実行します `docker exec unsloth rocm-smi`。GPU が一覧に表示されれば、コンテナから認識されています。 `/dev/kfd` での権限エラーは、 `--group-add` ids が不足していたことを意味します。

#### ポートがすでに割り当てられています

ホスト側のポートを変更してください。例: `-p 8001:8000`、その後 [http://localhost:8001](http://localhost:8001/).

#### 1 時間後に Unsloth Studio が応答しなくなった

自動生成されたパスワードが変更されていない場合、Unsloth Studio は自動的にシャットダウンします。Run `docker restart unsloth` を実行して再起動し、パスワードを変更してください。

#### プロジェクトフォルダ内のファイルの所有者が root になっている

コンテナは root として実行されるため、次を使ってください `sudo chown`、または `core` を `--user`.

### ⚙️ 詳細設定

#### 環境変数

次のいずれかを `docker run` を `-e NAME=value` または `--env-file`に渡してください。これらは `unsloth/unsloth` および `unsloth/unsloth-rocm`.

| 変数                                                    | 説明                                                | デフォルト                       |
| ----------------------------------------------------- | ------------------------------------------------- | --------------------------- |
| `UNSLOTH_STUDIO_PASSWORD`                             | ユーザー用の初期 Unsloth Studio パスワード `unsloth`           | 未設定: 1 回生成され、 `docker logs` |
| `JUPYTER_PASSWORD`                                    | JupyterLab のパスワード                                 | 未設定: 1 回生成され、 `docker logs` |
| `JUPYTER_PORT`                                        | コンテナ内の JupyterLab ポート                             | `8888`                      |
| `UNSLOTH_STUDIO_PORT`                                 | コンテナ内の Unsloth Studio ポート                         | `8000`                      |
| `生成されたパスワードが変更されない場合に Unsloth Studio がシャットダウンするまでの秒数` | ボリューム                                             | `3600`                      |
| `SSH_KEY` または `PUBLIC_KEY`                            | の SSH 公開鍵 `root` ログイン用                            | 未設定: SSH はオフ                |
| `UNSLOTH_ALLOW_CPU`                                   | GPU がなくてもコンテナを起動できるようにする                          | `1`、GPU が表示されている場合は未設定      |
| `UNSLOTH_STUDIO_SECURE`                               | 公開 Cloudflare HTTPS リンク経由でのみ Unsloth Studio を提供する | `0`                         |
| `UNSLOTH_STUDIO_CLOUDFLARE`                           | 公開 Cloudflare リンク経由で Unsloth Studio を共有する         | `0`                         |
| `UNSLOTH_JUPYTER_CLOUDFLARE`                          | 公開 Cloudflare リンク経由で JupyterLab を共有する             | `0`                         |
| `UNSLOTH_SKIP_NOTEBOOK_REFRESH`                       | GitHub からサンプルノートブックを更新しない                         | `0`                         |
| `UNSLOTH_SKIP_NOTEBOOK_SYNC`                          | サンプルノートブックのセットアップをスキップする                          | `0`                         |
| `HF_TOKEN`                                            | Hugging Face アクセストークン                             | 未設定                         |
| `WANDB_API_KEY`                                       | Weights & Biases API キー                           | 未設定                         |

#### 重要

{% hint style="warning" %}
**：**&#x30B3;ンテナの実行間で作業内容を保持するには、ボリュームマウントを使用します。
{% endhint %}

ボリューム上にないものは、コンテナを削除すると失われます。これらは次でマウントしてください `-v <host path or volume name>:<container path>`.

| コンテナ内パス                         | 説明                                             | 推奨マウント先                                                    |
| ------------------------------- | ---------------------------------------------- | ---------------------------------------------------------- |
| `/workspace/host`               | プロジェクトファイル                                     | あなたのプロジェクトフォルダ、たとえば `"$PWD"`                               |
| `/workspace/.cache/huggingface` | ダウンロードしたモデルとデータセット                             | ホスト側の Hugging Face キャッシュ、たとえば `"$HOME/.cache/huggingface"` |
| `/opt/unsloth-studio`           | Unsloth Studio のアカウント、チャット、学習済みモデル、エクスポート、実行結果 | 名前付きボリューム `unsloth-studio`                                 |
| `/workspace/unsloth-notebooks`  | 編集内容を含むサンプルノートブック                              | オプション                                                      |
| `/workspace/.cache/triton`      | コンパイル済み GPU カーネル                               | オプション、再起動を高速化します                                           |

* `/workspace` が作業ディレクトリであり、JupyterLab が開くフォルダです。
* には名前付きボリュームを使用してください `/opt/unsloth-studio`、ホストフォルダではなく。Unsloth Studio はそこでシンボリックリンクを必要としますが、Windows や macOS のホストフォルダではそれらを許可しない場合があり、その場合コンテナは起動時に停止します。
* Unsloth Studio や JupyterLab でより多くのファイルを使えるようにするには、 `/workspace`の下にさらにフォルダをマウントしてください。例: `-v /data/datasets:/workspace/datasets`、そしてそのコンテナ内パスでそれらを参照してください。

#### ポート

| ポート    | サービス                         |
| ------ | ---------------------------- |
| `8000` | Unsloth Studio               |
| `8888` | JupyterLab                   |
| `22`   | SSH（ `SSH_KEY` が設定されている場合のみ） |

コンテナのポートを、空いている任意のホストポートに次でマップします `-p <host>:<container>`。たとえば、ホストポートで SSH を有効にするには `2222`:

{% tabs %}
{% tab title="NVIDIA" %}

```bash
docker run -d --name unsloth --gpus all \\
  -p 8000:8000 -p 8888:8888 -p 2222:22 \\
  -e SSH_KEY="$(cat ~/.ssh/id_ed25519.pub)" \\
  -v "$PWD":/workspace/host \
  -v "$HOME/.cache/huggingface":/workspace/.cache/huggingface \
  -v unsloth-studio:/opt/unsloth-studio \
  unsloth/unsloth
```

{% endtab %}

{% tab title="AMD" %}

```bash
GPU_FLAGS="--device /dev/kfd"
[ -e /dev/dri ] && GPU_FLAGS="$GPU_FLAGS --device /dev/dri"
for g in video render; do
  gid=$(getent group "$g" | cut -d: -f3)
  [ -n "$gid" ] && GPU_FLAGS="$GPU_FLAGS --group-add $gid"
done
docker run -d --name unsloth $GPU_FLAGS \\
  -p 8000:8000 -p 8888:8888 -p 2222:22 \\
  -e SSH_KEY="$(cat ~/.ssh/id_ed25519.pub)" \\
  -v "$PWD":/workspace/host \
  -v "$HOME/.cache/huggingface":/workspace/.cache/huggingface \
  -v unsloth-studio:/opt/unsloth-studio \
  unsloth/unsloth-rocm
```

{% endtab %}
{% endtabs %}

### **🔒 セキュリティに関する注意**

* コンテナは root として実行されます。 `unsloth/unsloth:core` を `--user <uid>:<gid>` を使用してください。マウントしたファイルをホストユーザー所有にする必要がある場合です。
* SSH は `SSH_KEY` または `PUBLIC_KEY` が設定されていない限りオフです。キーのみで、root として、ポート 22 で動作します。
* 公開されたポートはすべてのインターフェースで待ち受けます。クラウドホストでは、 `127.0.0.1` にバインドするか、 `-e UNSLOTH_STUDIO_SECURE=1`.
* JupyterLab はフルシェルです。JupyterLab にログインできる人は、コンテナ内で任意のコマンドを実行できます。Unsloth Studio と JupyterLab は平文 HTTP で提供されるため、インターネットに直接公開しないでください。
* Unsloth Studio のツールはコードを実行できます。Studio のサーバー側ツールはデフォルトで有効になっており、コンテナ内でコマンドを実行できます。コンテナにアクセス権を与えても問題ないホストフォルダのみをマウントしてください。
* 環境変数は Docker ユーザーから見えます。 `-e` または `--env-file`で渡された値は、トークンやパスワードを含め、 `docker inspect`に表示されます。Docker デーモンへのアクセス権を持つ人なら誰でもそれらを読めます。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://unsloth.ai/docs/jp/meru/install/docker.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
