しばやん雑記

ASP.NET とメイドさんが大好きなフリーランスのプログラマーのブログ

Docker

Windows Containers でも Application Insights でパフォーマンスカウンターを読めるようにする

デフォルトのままで Windows Containers で動かすアプリに Application Insights をインストールすると、パフォーマンスカウンターの値が正しく取れない問題があります。実際に実行すると CPU やメモリ周りの値が Quick Pulse で取れてません。アプリケーシ…

Multi-arch 時代の Windows Containers 関連イメージの扱い

Windows Containers を使っていて非常に悩ましいのが OS バージョンですが、最近は Multi-arch が使われているのでホスト OS のバージョンから適切なものを自動で利用してくれます。Multi-arch の詳細は Docker 公式ブログを読めば大体理解できるはずです。…

ACR Build を使って ASP.NET アプリケーションの Docker Image をビルドする

ついに App Service での対応によって Windows Containers を利用する機運が個人的に高まってきたので、前から気になっていた ACR Build を使って ASP.NET 向けのイメージをビルドしてみました。VSTS や AppVeyor でも Docker Image を作ることは出来ますが…

Windows Server Version 1709 から Windows Server Containers のバージョン要件が変更されていた

これまで何回か Windows Containers を触ってきましたが、大体は Windows Server Containers の場合はバージョンを合わせるのが面倒なので、Hyper-V Containers を使おうという方向に落ち着いてました。ビルド番号が異なる場合には起動がブロックされますが…

.NET Framework / .NET Core 向け Docker Image のリポジトリが変更された話

多分 .NET Framework 4.7.2 と .NET Core 2.1 のリリースを狙ったタイミングだと思ってるのですが、この 2 つを利用するための公式 Docker Image のリポジトリが変更されています。地味に同じようなのにイメージが異なっていた .NET 系の Docker Image が統…

Windows Server Insider Preview Build 17079 で Server Core Container のサイズが更に削減

Windows Containers を使って ASP.NET アプリケーションの Dockernize を行う上で最大の問題となる、Server Core な Docker Image のサイズが 17079 で更に削減されました。ブログでは 30% 削減されたと書いてありますが、実際のサイズはダウンロード時が 1.…

ASP.NET 4.7.1 の Configuration Builder を使って Docker での運用を楽にしたい

最近は ASP.NET に Docker での運用を意識した機能が入り始めていて、早く Server Core の Docker Image が 1GB ぐらいにならないかと思い続ける日々です。とはいえ、現時点でも Server Core を使った ASP.NET の Dockernize は十分に可能なので、Configurat…

Nano Server で ASP.NET Core アプリケーションを実行する

これまでに ASP.NET Core は大体 App Service か Linux の Docker でしか動かしておらず、Nano Server を使ったことがなかったので試しておくことにしました。といっても、難しいことはなく Visual Studio で ASP.NET Core プロジェクトを作る時に Windows …

Windows Server Insider Preview Build 17035 で Windows Containers 周りが改善

ちょっと前に次の Semi-Annual Channel 向けの Windows Server Inside Preview がリリースされてました。ぶちぞう RD が空リプしてましたが、6 時とか完全に寝てるので気が付きません。Announcing Windows Server Insider Preview Build 17035 https://t.co/…

Windows Server Version 1709 で Docker と Windows Containers を使ってみる

自宅の検証用 Windows Server 2016 を Version 1709 にアップグレードしたので、例によって Docker 周りで気になる部分だけまとめておくことにします。Tech Summit は Version 1709 ベースで話したいですし。Windows Server Blog や Azure Blog では Azure M…

App Service on Linux を本番環境で運用する際の注意点

最近は App Service on Linux を使った仕事もしていたので、本番環境で使う場合の注意点を簡単にまとめておきます。地味にはまるポイントが多くて忘れそうなので、ほぼ自分用のメモですね。 2 コア以上のインスタンスを選ぶ 1 core 1.75GB の B1 / S1 インス…

App Service on Linux と Azure Container Registry を使ったデプロイを試したら罠が多かった話

App Service on Linux が GA する少し前に Azure Container Registry を使った自動デプロイが、Azure Portal から簡単に設定できるようになったとブログに上がってました。Azure Portal から Continuous Deployment を On にすると Webhook の設定をしてくれ…

App Service on Linux と Web App for Containers が GA したらしい

発表も突然なら GA も突然な App Service on Linux です。てっきり Ignite 合わせかと思ってましたが、特に何かあるタイミングではない今日に発表とは驚きました。とはいえ、何か機能が追加されたわけではなく GA したという発表だけのようです。同時に謎め…

App Service on Linux に関する最近のアップデートなど

最近は忙しかったのと Windows Containers ばかり弄っていたので遠ざかってましたが、そろそろ App Service on Linux は GA が近くなってきた気がしますね。リージョンは毎週のように増えていますし。というわけで個人的なまとめを少しだけ。気になる部分は…

Docker for Windows Server の Default Isolation を Hyper-V に変更する

Windows Server 2016 に Docker EE をインストールすると、デフォルトでは Windows Server Containers が使われるようになっています。docker info を実行すると Default Isolation が process になっていることが分かりますね。Windows Server Containers …

Windows Server Insider Preview を使って Server Core と Nano Server の Insider Image を試す

あまり Windows Server Insider Preview に関しては興味がなかったのですが、たまたま見つけた Insider 版の Windows Server Core と Nano Server の Docker Image がかなり最適化されていたので、実際に試してみたくなりました。地味にはまりましたが何とか…

Azure 上の Visual Studio 2017 を使って Windows Containers サポートを試してみた

手持ちの MacBook Pro だと Hyper-V を使った時の動作に不安があったので、最近 Nested Virtualization に対応した Dv3 / Ev3 インスタンスが追加された Azure 上で試すことにしました。Dv3 / Ev3 については、既にぶちぞう RD が書いてるので、そっちを読む…

App Service on Linux が Japan East で利用可能になりました

これまで Southeast Asia が日本から一番近いリージョンでしたが、ついに Japan East に App Service on Linux がデプロイされたので、レイテンシを気にせず使えるようになりました。今までは Japan East / West は割と後回しでしたが、今回は早期にデプロイ…

クラスタ不要で柔軟な Docker ホスティングが行える Hyper.sh を試してみた

Hyper.sh - Clusterless Docker Hosting Hyper.sh の特徴とメリット 個人的にはクラスタ不要で Docker が使えるというだけでかなりのメリットになるのですが、それ以外にもいろいろと特徴とメリットがあったので少しだけ書いておきます。 Docker と同じコマ…

Docker for Windows Server 2016 のアップデートを行う方法

Windows Server 2016 への Docker インストールは、PowerShell を使って結構簡単に出来るのですが、アップデート方法をこれまであまり見たことがありませんでした。何回か書いた気はしますが、インストールは以下のコマンドを実行するだけです。 Install-Mod…

App Service on Linux の最新アップデートと de:code で久し振りにセッションをする話

先週の Build 2017 のキーノートではさらっと触れられてたぐらいですが、かなり大規模なアップデートが行われました。詳細は Azure Blog に AJ 氏が書いてます。AJ 氏とは先月に品川の Microsoft で会って少し話をしました。その来日時の記事が公開されてま…

AppVeyor を使って ASP.NET MVC アプリケーションの Docker Image を自動で作成してみる

前に AppVeyor の Windows Server 2016 と Docker 対応について調べたので、今回は実際に ASP.NET MVC アプリケーションをビルドして、Docker Image の作成までを行ってみます。やることは CircleCI と Docker を使って App Service on Linux への CI/CD を…

AppVeyor が Windows Server 2016 に対応したので Docker を使うための下調べをする

2 か月ほど前になりますが、AppVeyor が Visual Studio 2017 と Windows Server 2016 が使えるワーカーイメージの提供を開始しました。AppVeyor に限らず Windows Server 2016 対応はどのサービスも遅い気がしますね。"Visual Studio 2017" image with VS 20…

App Service on Linux を Heroku っぽく使う Runtime Stack を作成してみた

App Service on Linux のカスタム Docker Image を利用していると、やっぱり Heroku のように foreman を使ったプロセス管理が使いたくなってきました。Heroku では Procfile をルートに用意しておくと、いい感じにランタイムが読み込んで実行してくれます。…

Windows Server Containers で利用する Docker Image のバージョン管理が難しい

最近はまた Windows Server Containers の実運用に関して、いろいろと考えたり調べたりしているのですが、Windows では絶対に避けられないものとして Windows Update があります。そして現時点での Windows Server Containers には以下のような要件がありま…

App Service on Linux で Ruby アプリケーションを動かそうとして上手くいかなかった話

昨日の時点で気が付いてましたが、中の人から Twitter で発表されてたので App Service on Linux の Ruby 対応を試してみました。結果としては動かすことが出来なかったです。Now you can deploy your Ruby App on #AzureAppService on #Linux pic.twitter.c…

CircleCI と Docker を使って App Service on Linux へのデプロイを自動化する

App Service on Linux での Docker 対応は Azure Container Service などに比べて、お手軽なので非常に便利なんですが、Elastic Beanstalk のように Dockerfile を含むリポジトリから自動的にビルドをしてくれないので、必然的に何らかの方法で Docker Image…

EC2 Container Service で Windows Server Containers を試す

Azure Container Service の Windows Server Containers 対応が全然アクティブにならないので、先に EC2 Container Service で Windows Server Containers を体験することにします。EC2 Container Service の Windows 対応は去年にベータがリリースされてい…

Docker Compose と Kudu を使って ConoHa 上に ASP.NET Core のデプロイ環境を作ってみた

App Service on Linux 向けとしてですが、Kudu の Mono 対応が進んでいたので Azure 以外の Linux 環境でも動くのではないかと思ったので、手軽な ConoHa を使って試してみました。そしてついでなので、ASP.NET Core アプリケーションをデプロイするところま…

Docker Compose を使って DB 付きの ASP.NET アプリケーションを実行する

ASP.NET MVC アプリケーションは microsoft/aspnet イメージを使うことで簡単に Windows Containers で動作しましたが、実際のアプリケーションには大抵 DB がセットなので、DB を含めた形でアプリケーションを Docker で動かしてみました。SQL Server 2016 …