DockerをWebUIで管理するPortainer
- 2022.02.12
- パソコン
Portainerとは
PortainerはDockerをWebUIで管理するソリューションです。これを入れておいて損はないと思います。
コンテナ技術が今後のIT界では必要だともてはやされて、はや数年経ちます。Kubernetesなどのコンテナ自動化ソリューションもほぼすべてのクラウドプラットフォームで導入され、「ヤバイ、そろそろ勉強しなきゃ!?」となっている方も多いと思います。
しかし、Dockerはコマンド操作が基本で、視認性も悪く、慣れるまで時間がかかります。しかも、データの視認性が悪く、思った通りになかなか動かせないものです。
Portainerがあるとその問題を解決できます。
操作感もとても分かりやすく、コマンドラインが苦手な方も使用できるツールです。そして、Kubernetesにも接続できる優れものです。
数分とかからず環境立ち上げができるので、ぜひこれを機会に導入してみましょう。
Portainerの公式URLは以下の通りです。
インストール
Docker環境を準備する
PortainerはDocker環境がそろっていれば、数分で立ち上げが可能です。
まずは、DockerとDocker-composeをインストールしてください。
もし、準備が済んでいる人はこの項目を読み飛ばしてください。
この記事ではCentOS7をベースに進めますが、他のLinuxでもWindowsでもMacでも基本は同じですので、自分に合った方法で進めてください。
Dockerは、公式サイトのセットアップ方法は以下のURLです。しかし、飛び先が英語だったり分かりにくいので、Googleで「Docker」「導入」などと検索すれば山ほど出てきますので、適当なものを参考に最新のものをインストールしてください。
https://docs.docker.jp/get-docker.html
次に、Docker-composeをインストールします。公式サイトは以下のURLです。
https://docs.docker.jp/compose/install.html
DockerとDocker-composeが動くようになれば、準備完了です。
Portainerのインストール
PortainerのインストールはDockerで行い、ホストOS側をコントロールできるようにします。
インストールはコマンド二つだけで、ダウンロードを含めても数分でインストールが完了します。
インストール用の公式ドキュメント(Version2.11)は以下のものを参照して下さい。
https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linux
まず、DockerVolumeの設定を行います。
[root@centos7-test ~]# docker volume create portainer_data
portainer_data
次に、本体をインストールします。※最新版は2.11.1なので書き換えてください
[root@centos7-test ~]# docker run -d -p 8000:8000 -p 9443:9443 --name portainer \
> --restart=always \
> -v /var/run/docker.sock:/var/run/docker.sock \
> -v portainer_data:/data \
> portainer/portainer-ce:2.11.0
Unable to find image 'portainer/portainer-ce:2.11.0' locally
2.11.0: Pulling from portainer/portainer-ce
0ea73420e2bb: Pull complete
c367f59be2e1: Pull complete
b71b88d796e2: Pull complete
Digest: sha256:4f126c5114b63e9d1bceb4b368944d14323329a9a0d4e7bb7eb53c9b7435d498
Status: Downloaded newer image for portainer/portainer-ce:2.11.0
85ce1aef26986880993a14fe7c11585eb76f32cd662d633b33b23a50f6fe2bb1
8000番はシステムが使用するポートで、9443番はhttps用のポートです。もし、httpで使いたい場合は、9000番を追加で公開してください。
Portainerが起動しているかを確認します。
[root@centos7-test ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85ce1aef2698 portainer/portainer-ce:2.11.0 "/portainer" 6 seconds ago Up 5 seconds 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp, 0.0.0.0:9443->9443/tcp, :::9443->9443/tcp, 9000/tcp portainer
上記のように、コンテナが起動していれば構築完了です。
初期設定
今回の例では、9443を公開しているので、DockerをホストしているPCのIPアドレスにブラウザでアクセスします。
IDとパスワードを決めて設定します。決めたユーザーで今後ログインができるようになります。
次に表示されたQuickSetupの画面からイルカのアイコンの「GetStarted」をクリックします。
これで、ローカル環境のDockerを制御できるようになった。
「local」のくじらのアイコンのある四角の中をクリックする。
現在はローカル環境のみを接続している状態となる。その中の情報が手に取るようにわかる。
Stackはdocker-composeを使ってグループ化して複数のコンテナを使うようなもの。
不要なnetworkやvolumeの設定も見て、消すこともできるし、新たに追加もできる。
ここまでで立ち上げたのは、PortainerServer。これは、自分自身がWEBインターフェースを提供する。その上で、自分自身のDockerもコントロールするように設定している。
追加設定(Portainer-Agent)
もし、すでに構築済みのPortainerServerが別にあるなら、PortainerAgentをインストールしてそちらに管理を任せることができる。
PortainerAgentのインストールは以下の通り。
[root@centos7-test ~]# docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:2.11.0
あとは、公式ページの追加方法に従って進めるだけ。
https://docs.portainer.io/v/ce-2.11/admin/environments/add/docker
Kubernetesを接続する場合は、Kubernetes上に接続用のデプロイを作成して、Portainerの画面から追加すると参照可能になる。
参考リンク
https://docs.portainer.io/v/ce-2.11/start/install/agent/docker/linux
まとめ
DockerやDocker-composeを理解するには、コマンド操作が欠かせない。しかし、一旦勉強してしまうと、操作が面倒になる人もいる。そういう私のような人はWebGUIを使ってもいいのではないかと思う。
何より管理が簡単になることで、「このコンテナ何だっけ?」ということが少なくなる。また、ログを見たり、設定を確認したりするのも非常に用意だ。
慣れている人は、ポチポチ設定を入れればそれでOKだし、慣れていない人はテンプレートからアプリを選んで入れるのもお勧めです。
Docker-HUBから必要なものを探して、それから環境変数を設定していくというのは意外と面倒です。
ということで、Portainerお勧めです。
ぜひ使ってみてください。
-
前の記事
Proxmoxでプライベートクラウドを立てる 2021.12.05
-
次の記事
Ubuntu 22.04 LTSでリモートデスクトップを使う 2022.05.09