オープンソース

Portainer〜OSSのコンテナ管理GUI〜

IT業界で注目されているコンテナ技術では、DockerやKubernetes等のソリューションが多く利用されています。しかし、Dockerは、コマンド操作が基本で知識のある技術者でないと操作や使い方、そして管理が難しいという問題があります。この記事では、DockerやKubernetesのコンテナ環境を管理できるPortainerを紹介します。

Portainerとは

Portainer(読み方:ポーテナー)とは、Docker等のコンテナを管理するGUIツールです。「Portainer.io」と表記されることもあります。ライセンスは、zlib Licenseのもとオープンソースソフトウェアとして公開されています。Portainerは、ウェブインタフェースで動作するため、ブラウザがあれば、WindowsやLinuxなどのOSや端末を問わず利用することができます。操作方法はシンプルで、マウスで画面のボタンをクリックすることで、コンテナを効率よく管理することができます。デザイン性に優れており、コマンド入力が必要ないため、知識のない一般的なユーザーでも扱いやすいソフトウェアです。Portainerは、コンテナ型仮想化を実現できるソフトウェアDocker、Kubernetes、Nomadをサポートしており、コンテナを簡単に構成、監視することができます。

home画面

ホーム画面

Portainerには、2つの製品パッケージが存在し、どちらもコミュニティのサポートを受けることができます。

  • Community Edition (CE)

    Portainer CEは、オープンソースで提供されており、個人での使用を目的としています。ソースコードはPortainer公式サイトやGitHubのサイトに掲載されています。

  • Business Edition (BE)

    Portainer BEは、エンタープライズITの要求を満たすために、CEのプラットフォーム管理やIAM機能等が強化されたバージョンです。Portainer BEの使用には、商用ライセンスが必要になります。

Portainerの特徴

Dockerなどのコンテナ管理のGUIであるPortainerには、以下の特徴があります。

複数のコンテナ環境の管理ができる

1つのソフトウェアから複数のコンテナ環境を管理することができます。複数のコンテナ環境を管理する場合には、以下から接続方法を選択することができます。

  • Portainer Agent

    コンテナ環境にPortainer Agentをインストールし、Portainer ServerからPortainer Agentに接続することで連携を行います。

  • Portainer Edge Agent

    コンテナ環境にPortainer Edge Agent をインストールし、Portainer Edge AgentからPortainer Serverに接続することで連携を行います。

  • Docker API

    PortainerからDockerコンテナに存在するDocker APIに直接接続して連携を行います。

Container list一覧

Container list一覧画面

Container image一覧

Container image一覧画面

Portainerは、ブラウザの管理画面にあるImagesのボタンからコンテナイメージの一覧を表示することができ、コンテナイメージのダウンロードや削除が行えます。エクスポートやインポートもボタン一つで行うことが可能です。ネットワーク情報の一覧画面では、ネットワークアドレスやコンテナで使用するIPアドレスを入力し、ネットワーク情報を追加することもできます。

小規模なコンテナ環境の管理ができる

Portainerは、小規模なコンテナ環境もウェブ上で管理することが可能です。Kubernetesでも管理用のダッシュボードが用意されていますが、Kubernetesの場合、最低3~5台のコンテナ実行環境が必要になります。これに対して、1台のサーバしか利用しない小規模のシステムの場合でも、PortainerならばWebUIからコンテナを管理することが可能なため、有効に利用できます。

Webからコンテナの管理を行うことができる

Portainerは、WebUIを使用して、簡単にDocker等のコンテナの管理や監視を行うことができます。Docker単体、Kubernetes、Nomadのデプロイが可能で、コマンド操作に慣れていないユーザ向けに、簡単に扱うことができるのが大きな特徴です。しかし、Web画面は英語表示になっており、今現在日本語で表示することはできません。

管理対象のコンテナイメージをダウンロードすると、あらかじめ準備されているアプリケーションテンプレートや、独自に作成するカスタムテンプレートを使用して、コンテナを起動することができます。Webからは、稼働しているコンテナのログやメモリやCPU、ネットワークの使用量を表示することができます。そしてWebから各コンテナのコンソール環境に接続することも可能です。Portainerを利用することでIDやアクセス、アクティビティのログを一元管理することが可能になります。

ダッシュボード

ダッシュボード画面

コンテナ統計情報

統計情報一覧画面

チームごとのアクセス制御ができる

Portainerは、ユーザやチームでアクセス制限をすることができます。チームはウェブの管理画面内で作成することができ、Dockerへのアクセス権限をチームごとに設定することができます。チームを作成する時に、登録されているユーザからチームリーダを選択することができ、チームのユーザ登録を行うことができます。ロールの設定で、ユーザ毎にコンテナ環境へのアクセス権限を設定することも可能です。

チーム詳細

チームへのユーザ登録画面

LDAPを使用したユーザ認証ができる

ログイン時にLDAP認証を利用することができます。そのため、LDAPに登録しているIDやパスワードのデータをそのまま利用することが可能です。設定の際に、LDAPのグループ検索を設定することで、LDAP認証の際にユーザが所属しているグループ名を取得することができます。グループ名がPortainerに設定されているチーム名と一致する場合、そのチームの権限で操作することが可能になります。ただしPortainer CEのLDAP認証では、機能に制限があり、LDAPサーバを複数指定することや、LDAPのグループごとに管理者権限を与えるなどの機能が利用できません。

LDAP認証

LDAP設定画面

SSO(OpenID Connect)に対応している

OAuthによるシングルサインオン(SSO)を利用することができます。シングルサインオンを利用することで、他のシステムで利用しているID・パスワードでPortainerにログインすることが可能になります。複数のID・パスワードを所有する必要がなくなり管理が楽になります。また、そのログインの際に自動的にユーザー登録を行うことができます。ユーザ登録を行うと同時にチームに所属することも可能です。

ログイン画面

ログイン画面

Portainerの用途

Portainerは、1つのみのコンテナ環境と複数のコンテナ環境の、どちらも管理することが可能ですが、以下のような使い方に適しています。

小規模なコンテナ環境のウェブUIとして使用

大規模なコンテナ環境では、冗長性を確保するため、Kubernetesを利用してコンテナをクラスタで構築することをおすすめしています。しかし、Kubernetesは、マスターやノード等で複数のコンテナが必要となるため、検証環境など小規模なコンテナ環境での利用に向いていません。その点、Portainerは、1台のコンテナ環境もウェブから管理することができるため、小規模なコンテナ環境での利用が可能です。

デージーネットの取り組み

弊社では、Portainerを利用した、Dockerコンテナ環境のシステム構築サービスを行っています。今までも、DockerとKubernetesを利用した開発環境の構築や、DockerとPortainerを利用したAI開発環境の提案を行った実績があります。利用者のシステム要件をお伺いし、DockerやKubernetes等のコンテナ管理ツールを含め最適なシステムをご提案します。

システム構築サービスを提供した後、導入後支援サービスとして、Open Smart Assistanceを提供しています。Q&A対応、セキュリティ情報提供、障害調査・回避、障害時オンサイト対応・システム再構築などがあります。これは、ソフトウェアだけのサポートではなく、Linuxなどを含むシステム全体に対するサポートです。

また、今回PortainerのDockerスタンドアロンの機能について調べ、Portainer調査報告書に掲載しました。Portainerの使い方やインストール方法、機能等について、日本語で詳しく解説しています。

情報の一覧

Portainer調査報告書

無料資料ダウンロード

Portainerとは、コンテナ管理プラットフォームです。ウェブインタフェースからコンテナを効率的に管理することができます。Docker、Kubernetes、Nomadをサポートしており、コンテナを簡単に構成、監視することができます。本書は、Portainerについて調べた内容をまとめたものです。

Docker〜コンテナ型仮想化〜

Docker

Dockerは、コンテナ型仮想化の仕組みとしては、事実上のデファクトスタンダードとなっているソフトウェアです。この記事では、Dockerを利用するメリットや機能等について解説します。

Kubernetes〜コンテナ管理の課題を解決するOSS〜

Kubernetes

Kubernetesとは、コンテナの管理を自動化するためのソフトウェアです。コンテナは完全仮想環境化に比べ、ディスク、メモリ消費量を少量で利用できます。Kubernetesを使用すると、コンテナの長所を最大限に活用することができます。

IoTプラットフォームで使えるOSSとは?比較23選

IoTプラットフォーム

IoTプラットフォームとは、IoTに必要な機能を提供するための基盤(プラットフォーム)の総称です。ここでは、IoTプラットフォームで利用できる汎用的なOSSについて解説します。

仮想化で使えるオープンソースソフトウェアとは?比較20選

仮想化ソフト比較

仮想化環境を構築すると、物理リソースの削減による社内スペースの確保、リソースの効率的な管理、運用コストの削減などが実現できます。この記事では、仮想化に関連したソフトウェアを、4つのカテゴリでご紹介します。

デモのお申込み

もっと使い方が知りたい方へ
操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。デモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ

Portainer〜OSSのコンテナ管理GUI〜の先頭へ