Docker 管理ツール Portainer を導入する

先日、構築した Docker 環境用の管理ツールとして Portainer を導入することにしました。

Portainer にしたのは以下の理由からです。

  • 導入が簡単
    Docker コンテナでも提供されているので、すぐデプロイできます。
  • GUI
    グラフィカルな Web 管理画面で操作可能になります。
  • 機能性
    コンテナの起動・停止・削除やステータス確認、イメージやネットワークの管理などが行なえます。
  • OSS
    無料です。
    詳細は下記 zlib/libpng License をご参照ください。

目次

Portainer 導入

手軽なコンテナを使う方法で導入します。
たった2行です!

base on Installation - Auckland, Singapore, San Francisco | Portainer.io

Portainer installation using Docker
Portainer is comprised of two elements, the Portainer Server, and the Portainer Agent.
Deploy Portainer Server on a standalone LINUX Docker host/single node swarm cluster
Use the following Docker commands to deploy the Portainer Server; note the agent is not needed on standalone hosts, however it does provide additional functionality if used.

Dockerを使ったPortainerのインストール
Portainerは、Portainer ServerとPortainer Agentの2つの要素で構成されています。
Portainer ServerをスタンドアロンのLINUX Dockerホスト/シングルノードスウォームクラスタ
以下のDockerコマンドを使ってPortainerサーバーをデプロイします。エージェントはスタンドアロンホストには必要ありませんが、使用すると追加機能が提供されます。

$ docker volume create portainer_data
$ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Portainer 初期設定

管理画面へのアクセス

ブラウザでホストOS の ポート 9000 にアクセスします。
(ex. http://localhost:9000/)

管理者登録

初回アクセス時に管理者情報の登録を求められるので、下記を登録します。

  • ユーザid
  • パスワード

※ログイン後に Portainer 管理画面からユーザを作成することも可能です。

ログイン

ログインすると下記メッセージが表示されます。
Local や Remote、Agent、Azure と項目がありますが、クローズドな環境&基本的な使い方であればそのまま [Connect] ボタンをクリックして問題ありません。

  • Local
    Local はあくまで情報表示画面で

    • Portainer で Docker 環境を管理します
    • Docker が起動しているか否かは /var/run/docker.sock で確認できます。
      と言った内容が書かれています。
Information
Manage the Docker environment where Portainer is running.

 Ensure that you have started the Portainer container with the following Docker flag:

-v "/var/run/docker.sock:/var/run/docker.sock" (Linux).

or

-v \\.\pipe\docker_engine:\\.\pipe\docker_engine (Windows).

その他の導入方法

Dockerを使わずにデプロイする方法は下記をご参照ください。

zlib/libpng License

パーミッシブ・ライセンスの一つです。
かなり制約のゆるく、使いやすいライセンスです。

base on GitHub - portainer/portainer: Simple management UI for Docker
Licensing
Portainer is licensed under the zlib license. See LICENSE for reference.
Portainer also contains the following code, which is licensed under the MIT license:

Portainerはzlibライセンスの下でライセンスされています。参考としてLICENSEを参照してください。
Portainerには、MITライセンスの下でライセンスされている以下のコードも含まれています。

base on portainer/LICENSE at develop · portainer/portainer · GitHub

Copyright (c) 2018 Portainer.io

This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
    claim that you wrote the original software. If you use this software
    in a product, an acknowledgment in the product documentation would be
    appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
    misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

base on zlib License - Wikipedia

zlib License(zlibライセンス)は、zlibならびにそれを使用するlibpngソフトウェア・ライブラリが配布される際に従う、(BSDライセンスやMITライセンスとよく似た)パーミッシブ・ライセンスである。
条項
ライセンスの主な内容は以下の点にまとめられる。

  • このソフトウェアは、‘as-is (現状)’ をベースにして利用される。著作者は、それが利用されることによって起こりうるいかなる損害に対しても責任を負わない。
  • 商用利用を含め、ソフトウェアの改変・配布は以下の制限のもとで許可される。
    1. ソフトウェアの原著作者であると詐称してはならない (ただし、その表示義務はない)。
    2. ソースコードを改変した場合はオリジナルのままだと勘違いされないようにしなければならない。
    3. ライセンス表示をソースコード配布物から削除してはならない。

このライセンスは、バイナリコードを配布するならば、ソースコードを利用可能にすることを必要としない。