Shipyardは、Docker社のEvan Hazlett氏、Thomas Barlow氏らを中心に、Shipyard-projectとして開発が行われているオープンソースソフトウェアだ。Docker純正の機能である、Docker SwarmとDocker Regtistorieで構成されたDockerのクラスタ環境を、GUIで管理することを目的としている。
ライセンスはApache License 2.0。2014年9月12日にv1がリリースされ、2016年8月時点の最新バージョンは、2015年9月6日にリリースされたv3.0.0である。Ver 3.1.xではDocker 1.12への対応、Docker Regiostry v2への対応などが予定されている。
Shipyardは全てDockerコンテナで構成されており、DockerコンテナとDocker Swarmが実行できる環境であれば、構築が可能である。Shipyarp公式のGitHubに簡単なインストールの手順が公開されており、ShipyardとDocker Swarmのmanagerとnodeをオールインワンで構築できるインストール用のbashスクリプトが公開されている。今回の検証では、まず前述のbashスクリプトでオールインワンの環境を構築した後、Docker Swarmのノードを追加する形で検証を行っている。
CentOS7上にDockerをインストール後に公式のインストールガイドにあるシェルを実行するだけで、オールインワン環境の構築が行える。ファイアウォールのポートは開放されていないので、Docker Swarmの2375/tcp、etcdの4001/tcpとShipyardの8080/tcpは開放しておく必要がある。検証に使用した環境の構築手順は、以下の弊社技術ブログで公開しているので参考にしていただきたい。
参考リンク:Shipyardをインストールしてみた(Tech Sketch/TIS)
ブラウザでShipyardサーバの8080ポートに接続すると、Shipyardのログイン画面が表示される。初期ユーザー/パスワード(admin/shipyard)でログインできる。
CONATINERSで現在起動しているコンテナを一覧で参照できる。この画面でコンテナの起動、停止も行える。
Deploy Containerボタンを押すとDockerコンテナの構築画面が表示される。起動するコンテナイメージとコマンドなどのパラメータを設定し、コンテナを起動させることができる。
NODESの画面で、Docker Swarmクラスタのノードの構成を確認することができる。Swarm nodeのLISTENポートはetcdから取得している。現行のDocker 1.12ではetcdやConsulなどのKVSは使用しないため、Docker 1.12のdocker swarmコマンドでのクラスタには対応していない。
Docker Hub以外にもプライベートのDocker Resigtryを追加して利用することも可能である。
Docker Swarmで構築された環境をGUIで簡単に管理を行えることを目的に開発された製品であり、機能はシンプルではあるが、使い勝手が良い。次のバージョンでDocker 1.12やDocker Registory v2系への対応も予定されており、素でDocker Swarm環境を構築するのであれば、管理負荷軽減のために導入を検討しても良い製品である。
Copyright © ITmedia, Inc. All Rights Reserved.