Portainerは、オープンソースのWebベースのコンテナ管理ツールで、コンテナの作成、開始、停止、再起動などのタスクを簡単に実行でき、コンテナーの詳細情報を表示し、ログを監視することもできます。WebベースのGUIが使いやすく、初心者でも簡単にコンテナ管理を行えるため、Dockerの初心者にとっては非常に便利なツールです。
Synology NASにPortainerをインストールする手段について紹介します。
1.Portainerとは
Portainerは、コンテナ管理を簡単にするためのオープンソースのWebベースのユーザーインターフェースです。Portainerは、Docker、Kubernetes、Azure ACI、AWS ECSなどの複数のプラットフォームをサポートしており、コンテナ化されたアプリケーションを管理するための多くの機能を提供しています。
Portainerを使用すると、Dockerコンテナを簡単に起動、停止、削除、一覧表示することができます。また、コンテナに対してリソースの制限やボリュームの追加などの設定を行うことができます。さらに、ポータルのダッシュボードから、コンテナの状態を監視し、アプリケーションのログを表示することもできます。
Portainerは、Webブラウザを使用して操作することができ、インストールも非常に簡単です。また、多くのプラットフォームに対応しているため、Docker以外のコンテナ管理プラットフォームに移行する際にも非常に役立ちます。
2.Dockerパッケージのインストール
PortanierもDockerコンテナとしてインストールするため、Synology NASにDockerパッケージがインストールされていなければなりません。
以下の記事の2章を参考にしてください。
3.Portainerコンテナのインストール
Portainerはインストール時に、ホストで動作しているDockerパッケージとUNIXソケットで通信するためにボリュームマッピングを行うのですが、Synology NASのDockerパッケージのGUIではファイル指定をSynology NASの共有フォルダ領域にしか指定できないため、当該GUIからのインストールが出来ません。よって、以下2パターンのインストール手段を紹介します。
- タスクスケジューラーでインストールコマンドを実行
- SSHコンソールからインストールコマンドを実行
3-1.データ永続化領域の作成
2パターンのインストール手段のいずれでも、データ永続化領域は必要ですので作成を行います。
DSMコンソールより[FileStation]を起動し、[Docker]共有フォルダ以下に[portainer]フォルダを作成します。
3-2.タスクスケジューラーでインストールコマンドを実行
DSMコンソールより[コントロールパネル]>[タスクスケジューラー]を選択します。
[作成]>[予約タスク]>[ユーザ指定のスクリプト]を選択します。
[タスクを作成]>[全般]画面で以下を入力します
- タスク:タスク名を入れます。(例:install portainer)
- ユーザー:rootを選択します。
- 有効:チェックを外しておきます。
[タスクを作成]>[スケジュール]画面で以下を入力します。
- 日付:[次の日に実行]を選択します。
[タスクを作成]>[タスク設定]画面で以下を入力します。
- 通知:[Eメールで詳細な実行情報を送信]にチェックを入れ、[電子メール]にメールアドレスを入力します。
- コマンドを実行:[ユーザ指定のスクリプト]に以下のスクリプトを入力します。
docker run --name=portainer \
-p 8000:8000 \
-p 9000:9000 \
-p 9443:9443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /volume1/docker/portainer:/data \
--restart=always \
portainer/portainer-ce
注意喚起のダイアログが表示されますので[OK]をクリックします。
パスワード入力ダイアログではDSM管理者のパスワードを入力します。
タスクが新規作成されます。
作成されたタスクを選択して[実行]をクリックします。
[タスクを実行]ダイアログで[OK]をクリックします。
インストールに成功したら、[Docker]パッケージの[コンテナ]画面でコンテナが起動していることを確認します。。
3-3.SSHコンソールからインストールコマンドを実行
NASにssh接続が可能であれば本手順のほうが簡単です。
sshでNASにログインし、rootユーザになってから以下のコマンドを実行します。
docker run --name=portainer \
-p 8000:8000 \
-p 9000:9000 \
-p 9443:9443 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /volume1/docker/portainer:/data \
--restart=always \
portainer/portainer-ce
イメージのダウンロード(未ダウンロードであれば)からコンテナ生成まで実行されます。
docker psコマンドで、コンテナが起動していることを確認します。
#docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4013919d5f39 portainer/portainer-ce "/portainer" 8 minutes ago Up 8 minutes 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp portainer
4.Portainerの初期設定
4-1.ユーザアカウント作成とIPアドレス設定
ブラウザより、URL[http://NASのIPアドレス:9000] にアクセスすると、以下のような、Portainerの初期画面が表示されます。
- username:ユーザー名を入れます。(デフォルトのadminから変更することをお勧めします。)
- Password/Confirm Password:12文字以上のパスワードを入力します。
入力したら[Create User]をクリックしてユーザーを作成します。
[Get Started]をクリックします。
[Home] 画面で[local]環境が表示されるので、右側の[Edit]アイコンをクリックします。
[Environment details]画面が表示されるので、[Public IP]欄にNASのIPアドレスを入力します。
入力が終わったら[Update Environment]をクリックします。
4-2.レジストリ追加
GitHub Container Registry(ghcr.io)をRegistory登録します。
画面左側のメニューより[Registries]をクリックし、[Registries]画面で[Add registory]をクリックします。
[Cutstom registory]を選択し、以下を入力します。
- Name:GHCR
- Registry URL:ghcr.io
入力が終わったら、[Add registory]をクリックして登録を完了します。
4-3.機能紹介
[Dashboard]画面では、Docker環境の概要と、環境を構成する各コンポーネントが表示されます。
[Dashboard]画面より[Container]を選択すると、実行中のコンテナ一覧が表示されます。
[Stack]画面では複数のコンテナで構成するアプリケーションが簡単に実行できる仕組みを提供しています。docker-composeと同様です。web editorからdocker-compose.ymlの内容を入力して実行することが可能です。
5.PortainerのHTTPS化設定
PortainerのWebアクセスのURLをHTTPS化したい場合は、以下に実施方法を纏めていますので、参考にして下さい。
6.まとめ
Synology NASにPortainerをインストールセットアップする手順について紹介しました。
Portainerは洗練されたUIで、日本語化はされていないものの、直感的に使えるため、誰にでもお勧めできるツールであると感じました。
以上、最後まで記事を読んでいただき、ありがとうございました。