Docker Toolbox で Azure Functionsを動かす

Hyper-V が動かない環境の場合、Docker Toolbox を使えばよいので、使ってみる。内部で VirtualBox を動かしているので、仮想OSを VMWare で作っていると変わらないのだが、UI で操作できる「Kitematic」が意外と便利なので。

Docker Toolboxのインストール:Windows編 – Qiita https://qiita.com/maemori/items/52b1639fba4b1e68fccd

ツールをインストールすると、3つのアイコンが作られる。Docker Quickstart Terminal は通常のコマンドライン、Kitematic (Alpha) が GUI ツールである。

image

Kitematic を起動して Docker Hub のユーザー名とパスワードを入力する。ここから Docker イメージをダウンロードする。

image

あらかじめ、Azure Functions で作った Dockerfile があるので「moomile」で検索する。公開済みの moonmile/sample-azure-docker を Create する

image

うまく起動ができると、80 番ポートで待っている状態になる。このままではアクセスできないので、

image

Docker の 80 番ポートを、8000番にフォワードする。いわゆる –p 80:8000 ということ。

これで、http://192.168.99.100:8000 でアクセスができるようになる。Docker コンテナをリブートしておく。

image

Docker の IP アドレス(192.168.99.100固定なのか?)を確認して、ブラウザから、http://192.168.99.100:8000 でアクセスする。Function App のトップページが開かれている。内部としては、Azure のエミュレータが動いている形になる。

image

Function App の HttpTrigger1 関数を呼び出すためにブラウザで、http://192.168.99.100:8000/api/HttpTrigger1?name=masuda を指定すると「Hello, masuda」で返される。

image

これで、Linux 環境がなくても、自由に Azure Function + Docker が試せますね。本家の Azure Function の Linux&Docker は結構高いので、ローカルで動かせると便利だろうということで。

あとで、サブドメインを使ってポートフォワードする方法を合わせて試してみる。

カテゴリー: Azure, NET Core パーマリンク