Problem

開発メモ その49 Red Hat Enterprise Linux 7.2にshipyardをインストールするにて、shipyardをインストールしました。
けど、結論から言うと使えませんでした。
どうやっても管理画面から、コンテナとイメージの一覧が表示されなくて挫折しました。

でも諦めずに調査したら、Portainer という管理ツールがあることを知りましたのでこれをインストールしました。

いや、こうやって試すというのはdockerの実地訓練なんですよね。

Portainerの公式は下記です。

Solution

まずはじめに、Docker Remote API の設定を行います。
これ、公式ドキュメントに書いて無くて苦労しました。
下記のページが参考になりました。

Remote APIを設定したら、下記を入力してインストールします。ポート番号は自由に決定できますが、ここは公式と同じ9000にします。

1
$ docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer

注意して欲しいのは、**–priviledged** を付けることです。公式ドキュメントに下記のようにこっそり書いてあります。これに気づかず何度も docker rm してはインストールを繰り返していました。

Note: If your host is using SELinux, you’ll need to pass the –privileged flag to the Docker run command:

インストール後、ブラウザから http://<端末のIP>:9000 でアクセスします。
初回アクセス時に、パスワードの設定を要求されます。

設定したパスワードでログインします。

今回は、Portainerのインストール先がDockerホストなので、最初の項目を選択します。
選択後、Connect を押下します。この際、Docker Remote APIが設定してなかったり、–privilegedを付与していないと、Unable to connect to the Docker endpointと怒られます。

無事に接続すると、管理画面に移行します。
shipyardと異なり、既にコンテナが一つ動いているのがわかります。これはPortainer自身です。

コンテナの一覧画面です。
非常にモダンでわかりやすいです。

以上です。
ここまで長かったです。