でました。コマンド一発でDockerコンテナがAzure上で動きます。nginxを動かすにはこうですっ!(aci_grpリソースグループがある前提)
az container create -g aci_grp --name nginx --image library/nginx --ip-address public
ブラウザでアクセスすると確かに表示される。
あれ、これっていきなりGAなの?って思ったら違う。
Container Instances are available today in public preview for Linux containers. Windows container support will be available in the coming weeks.
Linux コンテナは Public Preview。Windows コンテナはもうすぐサポートというけど動くという噂
Kubenetes の Node としても動きます。
Registering into the Kubernetes data plane as a Node with unlimited capacity
アンリミテッド!なんか強そう。
あくまでNodeとして動くので、Kubenetesのクラスタ自体はあらかじめ Azure Container Service などで作っておく必要があります。試して失敗した人の画像はこちら。
Cloud Shell で kubectl が動いてしまったので、試してみたら出来なかった悲しみ。 pic.twitter.com/gHsXZ2jmoa
— YAMAMOTO Masaki (@nnasaki) 2017年7月26日
VMの管理なんてしたくないので、Kubenetesのクラスタ自体もACIベースで作ってくれると嬉しいんですけどねぇ。。。そのうちなってくれるかな?(チラッチラッ
Spring Boot を Azure Container Instances で動かす
https://hub.docker.com/r/nnasaki/spring-boot-sample/ にまっさらな Spring Boot アプリがあったので動かしてみました。port が 8080 なのでportの設定が必要です。もちろん Spring Boot で 80 の設定をしていれば必要ありません。
az container create -g aci_grp --name spring-boot-sample --image nnasaki/spring-boot-sample --ip-address public --port 8080
ブラウザで確認すると無事表示されました。
お値段
Pricing - Container Instances | Microsoft Azure
秒単位で課金です。24時間立ち上げる場合は普通のVMより若干高くなりそう。
起動時間はコンテナのイメージサイズにもよりますが、nginxなら数秒で立ち上がるので、オートスケールに使えそうな感じです。
まとめ
簡単。便利。
Docker 使う理由がまた1つ増えました。
サクッと作れるので、開発用とはもちろん、LTとかでもデモが映える感じ。
特に開発時にコンテナを使い捨てる Draft とはめっちゃ相性いいんじゃないですかね。