Problem
開発メモ その48 Red Hat Enterprise Linux 7.2にDockerをインストールするにて、Dockerをインストールしました。
けど、自分はCLIは苦手だし、コマンド覚えるのが嫌です。
GUI万歳!!!
というわけで管理ツールを導入します。
Dockerの管理ツールはいくつかありますが、Webで管理できるのは下記の2点
- DockerUI
- shipyard
があります。
今回は多機能なshipyardを導入します。
注意
下記のページにて、**/var/run/docker.sock** をマウントすることの危険性を説いています。
特にshipyardについても言及しています。
対応策が語られていないのですが、そういうものだと割り切ります。
このあたり、本番環境に導入するというのは自己責任ですね。
Solution
インストール方法自体は、非常にシンプルです。
1 | curl -s https://shipyard-project.com/deploy | bash -s |
ですが、上の方法だと、下記のメッセージが表示されてしまい、実行できませんでした。
1 | /usr/bin/docker-current: Cannot connect to the Docker daemon. Is the docker daemon running on this host?. |
dockerのサービスデーモンが実行されていないのでは?というメッセージですが、sudo service docker status を実行すると正しく動作していることは示しています。
ですが、docker ps だと、同じようにCannot connect to the Docker daemon. Is the docker daemon running on this host? と表示されます。
そこでふと思ったのが、sudo したらどうなる?と思って実行したら、sudo dcker ps が成功しました。
なので、先述のインストールコマンドも
1 | curl -s https://shipyard-project.com/deploy | sudo bash -s |
することで動作しました。
気づくのに時間がかかりました。
ここで注意するのは、上のコマンド、先述の /var/run/docker.sock をマウントするコマンドが実行される点です。
これだけは認識しておいてください。
さて、上のコマンドでDockerにコンテナが追加されました。
shipyard自体がコンテナで実行されるアプリケーションです。
それなのに、自分以外のコンテナの状態を管理するツールになり得るのは、/var/run/docker.sockをマウントして色々やっているからとのことです
インストールが完了すると、
1 | Waiting for Shipyard on 端末のIP:8080 |
と表示されます。
パスワードはデフォルトは危険なのですぐに変えましょう。
外部のブラウザから、http://<端末のIP>:8080でアクセスすると、下記の美しいログイン画面が表示されます。
以上です。