Synology NAS でPortainerによるDockerコンテナ管理 | masao-Tec-blog

Synology NAS でPortainerによるDockerコンテナ管理

Docker

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パターンのインストール手段を紹介します。

  1. タスクスケジューラーでインストールコマンドを実行
  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で、日本語化はされていないものの、直感的に使えるため、誰にでもお勧めできるツールであると感じました。

以上、最後まで記事を読んでいただき、ありがとうございました。