みなさま、はじめまして。GMOクラウド石田です。
2016年夏もそろそろ終わりですが、まだまだ暑くてSEA BREEZEは当分手放せませんね。
暑くてコマンド操作がイヤになったので、【Shipyard】 を使ってDockerをWebUI管理しようと思いました。
本当に便利ですので、一度使ってみてください。
Ⅰ. はじめに
Dockerを利用して検証サーバーを構築・管理をしており、台数が少ないうちは良かったのですが、20台くらい管理していると、サーバー用途から状態管理をコマンド管理で行うことに限界を感じました。
「よし!WebUIで管理しよう」と思いDockerUIやRancherやShipyardを試してみましたが、今回はアカウント管理もできる【shipyard】を利用することにしました。
Ⅱ. 環境構築
・ALTUS BasicシリーズのDockerテンプレート(※現在提供終了)
DockerテンプレートにはDockerエンジンとShipyardがすでにインストールされています。
・グローバルIPアドレスの取得および割り当て(スタティックNAT)
・ファイアウォール(セキュリティグループ)のポート8080/TCPの許可
※もちろん既存環境にもインストール可能です。
GMOクラウドALTUS BasicシリーズのDockerテンプレートで環境構築すると、OSにログインすることなく、すぐにWebUIでDokerコンテナを管理することが可能です。
Ⅲ. Shipyardでできること
Ⅲ-ⅰ.ログイン
ログインすると、Shipyardのコンテナが7個もあるのは驚きです。
swarmとかあるが、今は利用しないのだが。
気にしないで進めます。だって便利だから。
Ⅲ-ⅱ.何ができるか見てみましょう
:イメージ一覧とダウンロード
なるほど、# docker search の結果表示は出ないので、詳細を検索したい場合はコマンドで実行するしかないか。
:コンテナ一覧と作成
※画像クリックで拡大します。
いろいろ設定できますね。私の場合は下記項目だけで十分です。
【ImageName】:ダウンロードしたイメージか、新規イメージでも問題なし
【ContainerName】:目的に応じたコンテナ名にしたほうが管理しやすい
【Port Configuration】:ホストからのバインド設定 ※8080ポートはShipyardで利用するので注意してください。
Roles設定で読み取り専用アカウントも作成できますね。
Ⅲ-ⅲ.コンテナ管理
さくっとコンテナを作成してみました。
すごく管理しやすい。状態、コンテナID、適用Imageがすぐわかるのはいいですね。
起動・停止・再起動・削除がすぐできるのはうれしいですね。
なんと、稼働しているプロセスも表示してくれてます。
OSにログインすることなくコンテナ接続ができるので、非常に便利です。
また、Consoleなのでコピー&ペーストができません。
利用してみて下記が気になった点です。
■ブラウザのアドオンによっては入力したキーが効かずうまくいかないので注意が必要です。
■Shipyardから作成したコンテナは、ホストからコンソール接続する場合は、下記コマンドでないと接続できませんでした。(# docker attach コンテナID では操作できなかった)
ただし、ログ保存機能はないので、リアルタイムに見るしかなさそうですね。
Ⅳ. まとめ
簡単ですが、Shipyardの紹介となります。
Docker管理をWebUIで操作ができるので、初心者にも使いやすいです。
また、複数台のコンテナ管理を行っている上級者にもすごく便利だと思います。
Shipyardでは機能実装していないため、ホスト側での実施が必要でした。
特にcontainerのCommitができないのは惜しいですね。
・imageのPush
・imageのSearch
・containerのCommit
以上