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 ツールである。
Kitematic を起動して Docker Hub のユーザー名とパスワードを入力する。ここから Docker イメージをダウンロードする。
あらかじめ、Azure Functions で作った Dockerfile があるので「moomile」で検索する。公開済みの moonmile/sample-azure-docker を Create する
うまく起動ができると、80 番ポートで待っている状態になる。このままではアクセスできないので、
Docker の 80 番ポートを、8000番にフォワードする。いわゆる –p 80:8000 ということ。
これで、http://192.168.99.100:8000 でアクセスができるようになる。Docker コンテナをリブートしておく。
Docker の IP アドレス(192.168.99.100固定なのか?)を確認して、ブラウザから、http://192.168.99.100:8000 でアクセスする。Function App のトップページが開かれている。内部としては、Azure のエミュレータが動いている形になる。
Function App の HttpTrigger1 関数を呼び出すためにブラウザで、http://192.168.99.100:8000/api/HttpTrigger1?name=masuda を指定すると「Hello, masuda」で返される。
これで、Linux 環境がなくても、自由に Azure Function + Docker が試せますね。本家の Azure Function の Linux&Docker は結構高いので、ローカルで動かせると便利だろうということで。
あとで、サブドメインを使ってポートフォワードする方法を合わせて試してみる。