LoginSignup
10
10

More than 5 years have passed since last update.

Docker HubにPushしたイメージはTutumでクラウド上のVMに自動デプロイできるよ!!

Last updated at Posted at 2015-11-30

2017/06現在、TutumはDocker社に買収され、Docker Cloudになっています。

この記事を読むと、Docker Hubリポジトリに変更がpushされるたびに、Azure上のホストVMに新しいDockerイメージをデプロイできるようになります。

Dockerリポジトリの変更を受け、TutumでDockerコンテナーをリデプロイ中
Docker HubからのHookでリデプロイ中のDockerコンテナー


DevOpsしてみたくて、JenkinsからDocker HubへイメージのPushは出来た、だけどそのあとJenkinsからクラウド上のホストVMにDockerイメージをデプロイできない…
そんな状況だったので、DevOpsエヴァンジェリストの牛尾さん(@TsuyoshiUshio@github)に教えていただいたTutumというサービスを使ってみました。

Tutum
https://www.tutum.co/

Tutumで予めホストVMを立ち上げておき、Docker Hubにhookの設定をしておけば、イメージがDocker HubにPushされるたびに自動デプロイが行われます。

この記事ではAzureリソースに対する自動デプロイを設定します。
AWSに対するデプロイについては、以下の記事がありました。

Dockerコンテナを手軽にデプロイしてくれるサービス「Tutum」を試してみた
http://qiita.com/honeniq/items/a4b655e9a92d1fe84ffb


Tutum is 何

TutumはDocker社が買収したDockerコンテナーを管理するクラウドサービスです。2015年11月現在βサービスで基本的な使い方は無料です。

DockerがTutumを買収してコンテナアプリケーションの稼働管理サービスを充実
http://jp.techcrunch.com/2015/10/22/20151021docker-acquires-cloud-startup-tutum-for-container-shipping-and-management/

Tutumの利用を開始する

TutumはDocker Hubのアカウント情報を使ってログインできます。
アカウントはDocker Hubですが、パスワードは改めて決めます

TutumとAzureと連携する

Tutumにログイン後、Acount infoの「Cloud Providers」からAzureと認証を行います。
https://dashboard.tutum.co/account/

Azureの項目の「Add Credentials」ボタンを押下することで、入力画面が開きます
「Download〜〜」ボタンを押下することでAzureに登録するためのcerファイルをダウンロードできます。ボタンの下のサブスクリプションIDフィールドにAzure PASSのサブスクリプションを入力して「Save〜〜」を押下すればTutum側の連携は完了です。
input_credentials

Azure側の連携とは上記でダウンロードしたcerファイルをAzureの旧ポータル画面の「設定」 ->「管理証明書」からアップロードすれば終わりです。
azure_setting.png

ちなみにAzureプレビューポータルからAzure旧ポータルへの遷移の仕方は、右上のアカウント情報をクリックした際に出てくる「Azureポータル」ボタンです。プレビューポータルからcerファイルあげる場所、よくわからない…
goPortal

TutumにNode(デプロイ用のホストVM)を作成する

認証が終わったらあとはデプロイの設定を行うだけです。ここで用語の説明をしておくと、TutumではホストVMをNode、デプロイするDockerイメージをServiceと呼びます。本格的に使う場合は、スケーリングなどの設定もできるようです。

Node管理画面
https://dashboard.tutum.co/node/launch/

画面左上の「Nodes」タブを押下したあと、「Launch new node cluster」ボタンから新しいNodesクラスターを作成します。適切な設定をしたあと右下の「Launch node cluster」を押下すればデプロイ用のVMが作成されます。 注意する点としては、作成後のNodeのステータスが「Deploying」から「Deployed」になるまで利用できません。

TutumにService(Dockerコンテナー)を登録する

ServiceタブからデプロイしたいDocker hub上のコンテナーリポジトリを登録します。
Service管理画面(URLがコンテナー)
https://dashboard.tutum.co/container/list/

「Create Service」を押下すると、「Image selection」画面に遷移しますが、ここで、「Public repositories」タブを選択するとDocker Hubからデプロイするイメージを選択できます。
あとはポチポチしていくだけですが、Webアプリのコンテナーの場合、「Ports」の設定で「Published」にチェックを入れないと当然アクセスできません。
ports

Docker HubにTutumのTrigger URLを登録する

ここまでくればもうほぼ完了です。作成したServiceを選択すると、画面中央に並ぶメニューから「Triggers」タブを開きます。
設定画面

そこで適当な名前で「redeploy」タイプのTriggerを「Add」ボタンで作成すると、URLが生成されます。
Trigger URL生成

このURLをDocker HubのリポジトリにあるWebhooksタブに登録して完了です。
WebHook

以上でDocker Hubリポジトリに変更があるたびに、TutumがAzureのホストVMに対して新しいDockerイメージをデプロイしてくれるようになりました!!


参考

Dockerコンテナを手軽にデプロイしてくれるサービス「Tutum」を試してみた
http://qiita.com/honeniq/items/a4b655e9a92d1fe84ffb

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10