2016.09.16

~Shipyard~ かんたん・便利 Docker WebUI管理ツール

難易度
2
カテゴリー
Docker Tips
タグ
ALTUS
Docker

160915_Shipyard_mv

みなさま、はじめまして。GMOクラウド石田です。
2016年夏もそろそろ終わりですが、まだまだ暑くてSEA BREEZEは当分手放せませんね。
暑くてコマンド操作がイヤになったので、【Shipyard】 を使ってDockerをWebUI管理しようと思いました。
本当に便利ですので、一度使ってみてください。

Ⅰ. はじめに

Dockerを利用して検証サーバーを構築・管理をしており、台数が少ないうちは良かったのですが、20台くらい管理していると、サーバー用途から状態管理をコマンド管理で行うことに限界を感じました。
「よし!WebUIで管理しよう」と思いDockerUIやRancherやShipyardを試してみましたが、今回はアカウント管理もできる【shipyard】を利用することにしました。


Ⅱ. 環境構築

・ALTUS BasicシリーズのDockerテンプレート
DockerテンプレートにはDockerエンジンとShipyardがすでにインストールされています。
・グローバルIPアドレスの取得および割り当て(スタティックNAT)
・ファイアウォール(セキュリティグループ)のポート8080/TCPの許可

※もちろん既存環境にもインストール可能です。

# curl -s https://shipyard-project.com/deploy | bash -s

GMOクラウドALTUS BasicシリーズのDockerテンプレートで環境構築すると、OSにログインすることなく、すぐにWebUIでDokerコンテナを管理することが可能です。

http://<割り当てたグローバルIPアドレス>:8080
ログインID:admin
初期パスワード:shipyard (ログイン後、必ずパスワード変更してください)
160915_Shipyard_src01

Ⅲ. Shipyardでできること

Ⅲ-ⅰ.ログイン

ログインすると、Shipyardのコンテナが7個もあるのは驚きです。
swarmとかあるが、今は利用しないのだが。
気にしないで進めます。だって便利だから。
160915_Shipyard_src02


Ⅲ-ⅱ.何ができるか見てみましょう

160915_Shipyard_src03
160915_Shipyard_src04

:イメージ一覧とダウンロード

:イメージのダウンロードする場合160915_Shipyard_src05
160915_Shipyard_src06

 

なるほど、# docker search の結果表示は出ないので、詳細を検索したい場合はコマンドで実行するしかないか。
160915_Shipyard_src07:コンテナ一覧と作成

:コンテナ作成する場合160915_Shipyard_src08

160915_Shipyard_src09

※画像クリックで拡大します。

いろいろ設定できますね。私の場合は下記項目だけで十分です。
【ImageName】:ダウンロードしたイメージか、新規イメージでも問題なし
【ContainerName】:目的に応じたコンテナ名にしたほうが管理しやすい
【Port Configuration】:ホストからのバインド設定 ※8080ポートはShipyardで利用するので注意してください。

160915_Shipyard_src10:アカウント管理と作成

:アカウント作成する場合160915_Shipyard_src11

 

160915_Shipyard_src12

Roles設定で読み取り専用アカウントも作成できますね。


Ⅲ-ⅲ.コンテナ管理

さくっとコンテナを作成してみました。
すごく管理しやすい。状態、コンテナID、適用Imageがすぐわかるのはいいですね。

コンテナ管理一覧を見てみました。 160915_Shipyard_src19(このアイコン)

起動・停止・再起動・削除がすぐできるのはうれしいですね。
なんと、稼働しているプロセスも表示してくれてます。

160915_Shipyard_src15:Consoleがありますね。

160915_Shipyard_src16

OSにログインすることなくコンテナ接続ができるので、非常に便利です。
また、Consoleなのでコピー&ペーストができません。
利用してみて下記が気になった点です。
■ブラウザのアドオンによっては入力したキーが効かずうまくいかないので注意が必要です。
Shipyardから作成したコンテナは、ホストからコンソール接続する場合は、下記コマンドでないと接続できませんでした。(# docker attach コンテナID では操作できなかった)

# docker exec -it コンテナID /bin/bash

160915_Shipyard_src17 :Statusでコンテナのリソース状態も見られますね。

 

160915_Shipyard_src18

ただし、ログ保存機能はないので、リアルタイムに見るしかなさそうですね。


Ⅳ. まとめ

簡単ですが、Shipyardの紹介となります。
Docker管理をWebUIで操作ができるので、初心者にも使いやすいです。
また、複数台のコンテナ管理を行っている上級者にもすごく便利だと思います。

Shipyardでは機能実装していないため、ホスト側での実施が必要でした。
特にcontainerのCommitができないのは惜しいですね。
・imageのPush
・imageのSearch
・containerのCommit
以上

この記事を書いた人

GMOクラウドIshida

GMOクラウドIshida

運用→SE→PM→プリセールス→企画・・どこに向かっているか分かりませんが、
インフラ屋さんだけはブレておりません。

インタビュー記事

この記事を書いた人

GMOクラウドIshida

GMOクラウドIshida

運用→SE→PM→プリセールス→企画・・どこに向かっているか分かりませんが、
インフラ屋さんだけはブレておりません。

docker-tips_bnr

writer