Based on the standard .NET Core 2.0 template (dotnet new), but further modified and jazzed up a little. The app was recently updated to use Razor Pages rather than MVC, which fits the simple demo app use case better.
Features added on top of the standard template:
The 'About' page displays some system basic information (OS, platform, CPUs, IP address etc) and should detect if the app is running as a container or not.
The 'Stress' page will generate CPU load, useful for testing autoscaling.
The 'DepCall' page will let you make a server side HTTP call, useful to demonstrate dependency calls in Application Insights
The App Insights SDK has been included, so if configured with an instrumentation key, monitoring data can be gathered and sent to Application Insights
Kestrel has been set to listen on http://0.0.0.0:5000. This makes it possible to be run inside a container. Dockerfiles for building as an image are provided too
Dockerfile - Default, assumes the app has already been built & published into binaries, (e.g. with dotnet publish -c release) prior to running docker build. Typically used in conjunction with VSTS build tasks or on a local development machine.
Dockerfile.windows - Same as default file above, but uses aspnetcore Nanoserver image as base, making it a Windows container.
Dockerfile.build - This carries out the full .NET Core restore, build & publish steps as part of the build of the Docker image. This is done with a different source image 'aspnetcore-build' and two RUN commands invoked in the Dockerfile. This is handy to use when you don't have a build server or a system with the SDK available.