[AI ルーター] AdGuard Home の例で Docker、イメージ、コンテナ、Portainer を理解する
ここでは、AI Board 上で Docker と Portainer がどのように動作するか例を交えてご説明します。これは単に「どうすればできるか」ではなく、「なぜこのように動作するのか」を理解するためのものです。
1. AdGuard Home の「Install(インストール)」ボタンをクリックすると何が起こるか?
AI Board で AdGuard Home の[Install(インストール)]ボタンをクリックすると、システムは自動的に以下の処理を行います:
- AdGuard Home のイメージがローカルに存在するか確認します。存在しない場合は Docker Hub からダウンロードします。
- イメージを使用して新しいコンテナを作成し、リソースを割り当て、名前(例:adguardhome)を付けます。
- ボリュームを作成し、コンテナの指定されたパスにマウントし、再起動後も設定やデータが維持されるようにします。
- ネットワーキングとポートマッピングを設定し、http://<AI Board IP>:3000 で AdGuard Home にアクセスできるようにします。
- コンテナを起動し、その状態を監視します。
2. Portainer で AdGuard Home を確認する
Portainer は、ブラウザーで Docker を管理できる ウェブベースの管理ツールです。ブラウザー上でコンテナ、イメージ、ボリュームを簡単に管理できます。
Portainer にログインする:AI Board の UI から、または URL(通常は http://<AI board のホスト名>:9443 )から直接 Portainer にアクセスできます。


ログイン後、ダッシュボードをクリックして管理インターフェースに入ります。

Containers(コンテナ)ページ:
- 左側のメニューで「Containers(コンテナ)」をクリックすると、稼働中のコンテナ一覧が表示されます。AdGuard Home は通常 adguardhome という名前です。
- コンテナ名をクリックすると、状態、ログ、リソース使用状況を確認できます。ここから起動、停止、再起動も行えます。

Images(イメージ)ページ:
- 「Images(イメージ)」をクリックすると、AdGuard Home を含むダウンロード済みのすべてのイメージが表示されます。

Volumes(ボリューム)ページ:
- 「Volumes(ボリューム)」をクリックすると、永続ストレージの一覧が表示されます。AdGuard Home に関連するボリュームを見つけてください。ここに設定やデータが保存されています。

3. Docker、イメージ、コンテナ、Portainer とは?
- Docker:アプリをコンテナという隔離環境で動かすプラットフォーム。ソフトウェアのデプロイと管理をシンプルかつ一貫性のあるものにします。AI Board 上の Docker を使って、AdGuard Home や Home Assistant など、様々なアプリをインストールでき、それぞれ独立して動作させられます。
- Docker Hub:Docker Hub は、Docker イメージ(コンテナ)を集めたライブラリ、リポジトリサービスです。コマンドまたは Portainer を介して簡単にインストールできます。
- イメージ:アプリケーションの設計図であり、実行に必要なすべてのコードとライブラリが含まれています。イメージは静的で変更できません。起動して初めてコンテナになります。同じイメージから複数のコンテナを作成可能です。
- コンテナ:イメージが実行されているインスタンス(ミニサーバー)です。各コンテナは独自の環境、設定、リソースを持ちます。コンテナを削除してもイメージには影響せず、いつでも再作成できます。永続データのために、コンテナはボリュームを使用します。
- ボリューム:コンテナを削除または再作成しても保持する必要があるデータ(設定ファイルやデータベースなど)を保存します。
- Portainer:Docker のためのグラフィカルな管理ツールで、ウェブ インターフェースを通じてコンテナ、イメージ、ボリュームの表示、制御、トラブルシューティングを可能にします。
4. これらはどのように関連していますか?
- イメージ(設計図)をダウンロードまたは作成する
- Docker を使用してコンテナ(ミニサーバー)を起動する
- コンテナは重要なデータを保存するためにボリュームを使用する
- Portainer はすべてを視覚的に管理するのに役立つ
5. 実生活での例え
あなたがパン屋さんを経営していると想像してください。
- イメージはケーキのレシピで、すべての手順と材料が記載されています。
- コンテナはレシピから焼いたケーキで、何個でも焼くことができます。
- ボリュームはノートのようなもので、各ケーキの特別な調整や顧客の好みを記録しており、新しいケーキを焼いても失われません。
- Docker はキッチンで、すべてのケーキがそれぞれの作業場で標準的な工程に従って焼かれることを保証します。
- Portainer はダッシュボード(データを一目で把握するための可視化ツール)で、どのケーキが焼かれているか、どんなレシピがあるか、ノートがどこに保存されているかを示します。
6. よくあるご質問(FAQ)
Q1: ログイン後に Portainer の再起動を促すメッセージが表示された場合はどうすればよいですか?
A1: Portainer をインストール後、すぐに管理画面にアクセスしない場合、再起動を促すメッセージが表示されることがあります。

AI Board の UI にある Docker Management(Docker 管理)ページで ON/OFF スイッチを切り替えて、Portainer を再起動してください。

7. 練習
Portainer を使えば使うほど、Docker の柔軟性をより早く習得できます。おすすめの練習問題をいくつかご紹介します:
- Containers ページに移動し、adguardhome を選択して[Remove(削除)]をクリックし、コンテナを削除してから、Docker Compose YAML を使用して新しいコンテナを作成してください。コンテナの再作成はすぐにできます。このプロセスに慣れるために、数回試してみてください。

- Stack ページに移動し、新しい Stack を作成して、AdGuard Home Docker Compose YAML を貼り付けて、新しいコンテナをデプロイします。

- Name 欄に adguardhome と入力します。

- 以下の YAML コードを貼り付けて、[Deploy the stack(スタックをデプロイ)]をクリックします。
version:"3.8"services:adguardhome:image:adguard/adguardhome:latestcontainer_name:adguardhomerestart:unless-stoppednetwork_mode:"host"environment:# Define default web interface port-ADGUARD_HOME_DEFAULT_WEB_PORT=3000volumes:-adgh_work:/opt/adguardhome/work-adgh_conf:/opt/adguardhome/conf-/etc/hosts:/etc/hosts:rovolumes:adgh_work:adgh_conf:

- 完了すると、新しく作成された AdGuard Home コンテナが表示されます。
