├── Chapter01 └── 01_docker-helloworld-iis │ ├── Dockerfile │ └── index.html ├── Chapter02 ├── 01_CreateAzureFilesSMBShare.ps1 ├── 02_InitializeMongoDBReplicaset.ps1 ├── 03_MongoDB_1903 │ └── Dockerfile └── 04_MongoDB_dotnet │ ├── .gitignore │ ├── 04_MongoDB_dotnet.csproj │ ├── Dockerfile │ └── Program.cs ├── Chapter03 ├── 01_iis-demo │ └── Dockerfile ├── 02_nginx-demo-index │ ├── Dockerfile │ └── index.html ├── 03_CreateAzureContainerRegistry.ps1 └── 04_iis-demo-index │ ├── Dockerfile │ └── index.html ├── Chapter04 ├── 01_pod-example │ └── nginx.yaml ├── 02_replicaset-example │ └── nginx-replicaset.yaml ├── 03_deployment-example │ └── nginx-deployment.yaml ├── 04_service-example │ └── nginx-service.yaml ├── 05_CreateAKSWithWindowsNodes.ps1 └── 06_windows-example │ └── windows-example.yaml ├── Chapter05 ├── 01_clusterip-service-example │ └── nginx-clusterip-service.yaml ├── 02_nodeport-service-example │ └── nginx-nodeport-service.yaml ├── 03_loadbalancer-service-example │ └── nginx-loadbalancer-service.yaml ├── 04_externalname-service-example │ └── externalname-service-example.yaml └── 05_ingress-example │ ├── ingress-example.yaml │ └── nginx-ingress-controller-aks.yaml ├── Chapter06 ├── 01_deployment-example │ └── nginx-deployment.yaml └── 02_patch-example │ └── linux-node-selector.yaml ├── Chapter07 ├── 01a_hyperv-ubuntu-netplan-dynamic │ └── 01-netcfg.yaml ├── 01b_hyperv-ubuntu-netplan-static │ └── 01-netcfg.yaml ├── 02_ubuntu-prepare-node.sh ├── 03_ubuntu-install-kubeadm.sh ├── 04_ubuntu-initialize-master.sh ├── 05_pod-network │ └── kube-flannel-host-gw.yaml ├── 06_ubuntu-install-pod-network.sh ├── 07_sig-windows-tools-kubeadm │ ├── KubeCluster.ps1 │ ├── KubeClusterHelper.psm1 │ ├── Kubeclusterbridge.json │ └── Kubeclustervxlan.json ├── 08_run-powershell-pod.ps1 └── 09_windows-example │ └── windows-example.yaml ├── Chapter08 ├── 01_aks-engine │ └── 01_CreateAKSEngineClusterWithWindowsNodes.ps1 ├── 02_windows-apimodel │ └── kubernetes-windows.json ├── 03_windows-example │ └── windows-example.yaml ├── 04_aks-engine-container-monitoring │ └── 01_CreateAKSEngineClusterWithWindowsNodes.ps1 └── 05_windows-apimodel-container-monitoring │ └── kubernetes-windows.json ├── Chapter09 ├── 01_declarative-management │ ├── windows-example-deployment.yaml │ └── windows-example-service.yaml ├── 02_windows-taint-toleration │ ├── windows-example-deployment.yaml │ └── windows-example-service.yaml ├── 03_ingress-example │ ├── windows-example-deployment.yaml │ ├── windows-example-ingress.yaml │ └── windows-example-service.yaml └── 04_autoscaling │ ├── windows-example-deployment.yaml │ └── windows-example-service.yaml ├── Chapter10 ├── 01_voting-application-src │ ├── .dockerignore │ ├── .gitignore │ ├── App_Start │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── NinjectWebCommon.cs │ │ ├── RouteConfig.cs │ │ └── WebApiConfig.cs │ ├── Content │ │ ├── Site.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── Controllers │ │ ├── HomeController.cs │ │ ├── OptionsController.cs │ │ ├── SurveysController.cs │ │ └── VotesController.cs │ ├── Dockerfile │ ├── Dockerfile.debug │ ├── Dockerfile.production │ ├── Factories │ │ └── VotingApplicationContextFactory.cs │ ├── Filters │ │ └── LogExceptionFilter.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Interfaces │ │ └── IDateTimeProvider.cs │ ├── LICENSE │ ├── LogMonitorConfig.json │ ├── Migrations │ │ └── Configuration.cs │ ├── Models │ │ ├── Option.cs │ │ ├── Survey.cs │ │ ├── Vote.cs │ │ └── VotingApplicationContext.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles │ │ │ ├── DockerPublishProfile.pubxml │ │ │ └── DockerPublishProfileDebug.pubxml │ ├── Scripts │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-3.3.1.intellisense.js │ │ ├── jquery-3.3.1.js │ │ ├── jquery-3.3.1.min.js │ │ ├── jquery-3.3.1.min.map │ │ ├── jquery-3.3.1.slim.js │ │ ├── jquery-3.3.1.slim.min.js │ │ ├── jquery-3.3.1.slim.min.map │ │ └── modernizr-2.8.3.js │ ├── Services │ │ └── DateTimeProvider.cs │ ├── ViewModels │ │ ├── OptionResult.cs │ │ └── SurveyResult.cs │ ├── Views │ │ ├── Home │ │ │ └── Index.cshtml │ │ ├── Options │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Surveys │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Results.cshtml │ │ │ └── Vote.cshtml │ │ ├── Votes │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── VotingApplication.csproj │ ├── VotingApplication.sln │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── packages.config ├── 02_namespace │ └── dev.yaml ├── 03_sql-server │ └── sql-server.yaml ├── 04_voting-application │ └── voting-application.yaml ├── 05_ef6-update-database-job │ └── ef6-update-database.yaml └── 06_voting-application-debug │ └── voting-application.yaml ├── Chapter11 ├── 01_example-namespace │ └── namespace-prod.yaml ├── 02_voting-application-probes-src │ ├── .dockerignore │ ├── .gitignore │ ├── App_Start │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── NinjectWebCommon.cs │ │ ├── RouteConfig.cs │ │ └── WebApiConfig.cs │ ├── Content │ │ ├── Site.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── Controllers │ │ ├── HealthController.cs │ │ ├── HomeController.cs │ │ ├── OptionsController.cs │ │ ├── SurveysController.cs │ │ └── VotesController.cs │ ├── Dockerfile │ ├── Dockerfile.debug │ ├── Dockerfile.production │ ├── Factories │ │ └── VotingApplicationContextFactory.cs │ ├── Filters │ │ └── LogExceptionFilter.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Interfaces │ │ └── IDateTimeProvider.cs │ ├── LICENSE │ ├── LogMonitorConfig.json │ ├── Migrations │ │ └── Configuration.cs │ ├── Models │ │ ├── Option.cs │ │ ├── Survey.cs │ │ ├── Vote.cs │ │ └── VotingApplicationContext.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles │ │ │ ├── DockerPublishProfile.pubxml │ │ │ └── DockerPublishProfileDebug.pubxml │ ├── Scripts │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-3.3.1.intellisense.js │ │ ├── jquery-3.3.1.js │ │ ├── jquery-3.3.1.min.js │ │ ├── jquery-3.3.1.min.map │ │ ├── jquery-3.3.1.slim.js │ │ ├── jquery-3.3.1.slim.min.js │ │ ├── jquery-3.3.1.slim.min.map │ │ └── modernizr-2.8.3.js │ ├── Services │ │ └── DateTimeProvider.cs │ ├── ViewModels │ │ ├── OptionResult.cs │ │ └── SurveyResult.cs │ ├── Views │ │ ├── Home │ │ │ └── Index.cshtml │ │ ├── Options │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Surveys │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Results.cshtml │ │ │ └── Vote.cshtml │ │ ├── Votes │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── VotingApplication.csproj │ ├── VotingApplication.sln │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── packages.config ├── 03_readiness-probe │ └── voting-application.yaml ├── 04_liveness-probe │ └── voting-application.yaml ├── 05_startup-probe │ └── voting-application.yaml ├── 06_resource-exhaustion │ └── voting-application.yaml ├── 07_resource-management │ └── voting-application.yaml ├── 08_voting-application-hpa-src │ ├── .dockerignore │ ├── .gitignore │ ├── App_Start │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── NinjectWebCommon.cs │ │ ├── RouteConfig.cs │ │ └── WebApiConfig.cs │ ├── Content │ │ ├── Site.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── Controllers │ │ ├── HealthController.cs │ │ ├── HomeController.cs │ │ ├── OptionsController.cs │ │ ├── SurveysController.cs │ │ └── VotesController.cs │ ├── Dockerfile │ ├── Dockerfile.debug │ ├── Dockerfile.production │ ├── Factories │ │ └── VotingApplicationContextFactory.cs │ ├── Filters │ │ └── LogExceptionFilter.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Interfaces │ │ ├── ICpuStressWorker.cs │ │ └── IDateTimeProvider.cs │ ├── LICENSE │ ├── LogMonitorConfig.json │ ├── Migrations │ │ └── Configuration.cs │ ├── Models │ │ ├── Option.cs │ │ ├── Survey.cs │ │ ├── Vote.cs │ │ └── VotingApplicationContext.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles │ │ │ ├── DockerPublishProfile.pubxml │ │ │ └── DockerPublishProfileDebug.pubxml │ ├── Scripts │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-3.3.1.intellisense.js │ │ ├── jquery-3.3.1.js │ │ ├── jquery-3.3.1.min.js │ │ ├── jquery-3.3.1.min.map │ │ ├── jquery-3.3.1.slim.js │ │ ├── jquery-3.3.1.slim.min.js │ │ ├── jquery-3.3.1.slim.min.map │ │ └── modernizr-2.8.3.js │ ├── Services │ │ ├── CpuStressWorker.cs │ │ └── DateTimeProvider.cs │ ├── ViewModels │ │ ├── OptionResult.cs │ │ └── SurveyResult.cs │ ├── Views │ │ ├── Home │ │ │ └── Index.cshtml │ │ ├── Options │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Surveys │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Results.cshtml │ │ │ └── Vote.cshtml │ │ ├── Votes │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── VotingApplication.csproj │ ├── VotingApplication.sln │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── packages.config ├── 09_hpa │ ├── hpa.yaml │ └── voting-application.yaml ├── 10_voting-application-configmap-src │ ├── .dockerignore │ ├── .gitignore │ ├── App_Start │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── NinjectWebCommon.cs │ │ ├── RouteConfig.cs │ │ └── WebApiConfig.cs │ ├── Content │ │ ├── Site.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── Controllers │ │ ├── HealthController.cs │ │ ├── HomeController.cs │ │ ├── OptionsController.cs │ │ ├── SurveysController.cs │ │ └── VotesController.cs │ ├── Dockerfile │ ├── Dockerfile.debug │ ├── Dockerfile.production │ ├── Factories │ │ └── VotingApplicationContextFactory.cs │ ├── Filters │ │ └── LogExceptionFilter.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Interfaces │ │ ├── ICpuStressWorker.cs │ │ └── IDateTimeProvider.cs │ ├── LICENSE │ ├── LogMonitorConfig.json │ ├── Migrations │ │ └── Configuration.cs │ ├── Models │ │ ├── Option.cs │ │ ├── Survey.cs │ │ ├── Vote.cs │ │ └── VotingApplicationContext.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles │ │ │ ├── DockerPublishProfile.pubxml │ │ │ └── DockerPublishProfileDebug.pubxml │ ├── Scripts │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-3.3.1.intellisense.js │ │ ├── jquery-3.3.1.js │ │ ├── jquery-3.3.1.min.js │ │ ├── jquery-3.3.1.min.map │ │ ├── jquery-3.3.1.slim.js │ │ ├── jquery-3.3.1.slim.min.js │ │ ├── jquery-3.3.1.slim.min.map │ │ └── modernizr-2.8.3.js │ ├── Services │ │ ├── CpuStressWorker.cs │ │ └── DateTimeProvider.cs │ ├── ViewModels │ │ ├── OptionResult.cs │ │ └── SurveyResult.cs │ ├── Views │ │ ├── Home │ │ │ └── Index.cshtml │ │ ├── Options │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Surveys │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Results.cshtml │ │ │ └── Vote.cshtml │ │ ├── Votes │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── VotingApplication.csproj │ ├── VotingApplication.sln │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── config │ │ └── customErrors.config │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── packages.config ├── 11_configmap │ ├── customErrors.config │ ├── voting-application-customerrors-config.yaml │ └── voting-application.yaml ├── 12_voting-application-persistentvolume-src │ ├── .dockerignore │ ├── .gitignore │ ├── App_Start │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── NinjectWebCommon.cs │ │ ├── RouteConfig.cs │ │ └── WebApiConfig.cs │ ├── Content │ │ ├── Site.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── Controllers │ │ ├── HealthController.cs │ │ ├── HomeController.cs │ │ ├── OptionsController.cs │ │ ├── SurveysController.cs │ │ └── VotesController.cs │ ├── Dockerfile │ ├── Dockerfile.debug │ ├── Dockerfile.production │ ├── Factories │ │ └── VotingApplicationContextFactory.cs │ ├── Filters │ │ └── LogExceptionFilter.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Interfaces │ │ ├── ICpuStressWorker.cs │ │ ├── IDateTimeProvider.cs │ │ └── IVoteLogManager.cs │ ├── LICENSE │ ├── LogMonitorConfig.json │ ├── Migrations │ │ └── Configuration.cs │ ├── Models │ │ ├── Option.cs │ │ ├── Survey.cs │ │ ├── Vote.cs │ │ └── VotingApplicationContext.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles │ │ │ ├── DockerPublishProfile.pubxml │ │ │ └── DockerPublishProfileDebug.pubxml │ ├── Scripts │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-3.3.1.intellisense.js │ │ ├── jquery-3.3.1.js │ │ ├── jquery-3.3.1.min.js │ │ ├── jquery-3.3.1.min.map │ │ ├── jquery-3.3.1.slim.js │ │ ├── jquery-3.3.1.slim.min.js │ │ ├── jquery-3.3.1.slim.min.map │ │ └── modernizr-2.8.3.js │ ├── Services │ │ ├── CpuStressWorker.cs │ │ ├── DateTimeProvider.cs │ │ └── VoteLogManager.cs │ ├── ViewModels │ │ ├── OptionResult.cs │ │ └── SurveyResult.cs │ ├── Views │ │ ├── Home │ │ │ ├── Index.cshtml │ │ │ └── VotingLog.cshtml │ │ ├── Options │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Surveys │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Results.cshtml │ │ │ └── Vote.cshtml │ │ ├── Votes │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── VotingApplication.csproj │ ├── VotingApplication.sln │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── config │ │ └── customErrors.config │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── packages.config ├── 13_persistentvolume │ └── voting-application.yaml ├── 14_rollingupdate │ └── voting-application.yaml └── 15_rbac │ ├── role.yaml │ ├── rolebinding.yaml │ ├── serviceaccount.yaml │ ├── voting-application-customerrors-config.yaml │ └── voting-application.yaml ├── Chapter12 ├── 01_mssql-helm │ ├── prereq.yaml │ └── values.yaml ├── 02_voting-application-base │ ├── deployment.yaml │ ├── ef6-update-database.yaml │ ├── role.yaml │ ├── rolebinding.yaml │ ├── service.yaml │ └── serviceaccount.yaml ├── 03_voting-application-helm │ ├── .gitignore │ ├── .helmignore │ ├── Chart.lock │ ├── Chart.yaml │ ├── templates │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ ├── post-install-job.yaml │ │ ├── role.yaml │ │ ├── rolebinding.yaml │ │ ├── service.yaml │ │ ├── serviceaccount.yaml │ │ └── tests │ │ │ └── test-connection.yaml │ └── values.yaml ├── 04_voting-application-azure-application-insights-src │ ├── .dockerignore │ ├── .gitignore │ ├── App_Start │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── NinjectWebCommon.cs │ │ ├── RouteConfig.cs │ │ └── WebApiConfig.cs │ ├── ApplicationInsights.config │ ├── Connected Services │ │ └── Application Insights │ │ │ └── ConnectedService.json │ ├── Content │ │ ├── Site.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── Controllers │ │ ├── HealthController.cs │ │ ├── HomeController.cs │ │ ├── OptionsController.cs │ │ ├── SurveysController.cs │ │ └── VotesController.cs │ ├── DockerBuildAndPush.ps1 │ ├── Dockerfile │ ├── Dockerfile.debug │ ├── Dockerfile.production │ ├── ErrorHandler │ │ └── AiHandleErrorAttribute.cs │ ├── Factories │ │ └── VotingApplicationContextFactory.cs │ ├── Filters │ │ └── LogExceptionFilter.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Interfaces │ │ ├── ICpuStressWorker.cs │ │ ├── IDateTimeProvider.cs │ │ └── IVoteLogManager.cs │ ├── LICENSE │ ├── LogMonitorConfig.json │ ├── Migrations │ │ └── Configuration.cs │ ├── Models │ │ ├── Option.cs │ │ ├── Survey.cs │ │ ├── Vote.cs │ │ └── VotingApplicationContext.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles │ │ │ ├── DockerPublishProfile.pubxml │ │ │ └── DockerPublishProfileDebug.pubxml │ ├── Scripts │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-3.3.1.intellisense.js │ │ ├── jquery-3.3.1.js │ │ ├── jquery-3.3.1.min.js │ │ ├── jquery-3.3.1.min.map │ │ ├── jquery-3.3.1.slim.js │ │ ├── jquery-3.3.1.slim.min.js │ │ ├── jquery-3.3.1.slim.min.map │ │ └── modernizr-2.8.3.js │ ├── Services │ │ ├── CpuStressWorker.cs │ │ ├── DateTimeProvider.cs │ │ └── VoteLogManager.cs │ ├── ViewModels │ │ ├── OptionResult.cs │ │ └── SurveyResult.cs │ ├── Views │ │ ├── Home │ │ │ ├── Index.cshtml │ │ │ └── VotingLog.cshtml │ │ ├── Options │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Surveys │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Results.cshtml │ │ │ └── Vote.cshtml │ │ ├── Votes │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── VotingApplication.csproj │ ├── VotingApplication.sln │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── config │ │ └── customErrors.config │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ └── packages.config ├── 05_voting-application-azure-application-insights-helm │ ├── .gitignore │ ├── .helmignore │ ├── Chart.lock │ ├── Chart.yaml │ ├── templates │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ ├── post-install-job.yaml │ │ ├── role.yaml │ │ ├── rolebinding.yaml │ │ ├── service.yaml │ │ ├── serviceaccount.yaml │ │ └── tests │ │ │ └── test-connection.yaml │ └── values.yaml ├── 06_kubernetes-dashboard │ ├── clusterrolebinding.yaml │ └── serviceaccount.yaml └── 07_azds-demo │ ├── .dockerignore │ ├── Controllers │ └── HomeController.cs │ ├── Dockerfile │ ├── Dockerfile.develop │ ├── Models │ └── ErrorViewModel.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Startup.cs │ ├── Views │ ├── Home │ │ ├── Index.cshtml │ │ └── Privacy.cshtml │ ├── Shared │ │ ├── Error.cshtml │ │ ├── _Layout.cshtml │ │ └── _ValidationScriptsPartial.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml │ ├── appsettings.Development.json │ ├── appsettings.json │ ├── azds-demo.sln │ ├── azds.yaml │ ├── azds_demo.csproj │ ├── azds_demo.csproj.user │ ├── bin │ └── Debug │ │ └── netcoreapp3.0 │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── azds_demo.StaticWebAssets.xml │ │ ├── azds_demo.Views.dll │ │ ├── azds_demo.Views.pdb │ │ ├── azds_demo.deps.json │ │ ├── azds_demo.dll │ │ ├── azds_demo.exe │ │ ├── azds_demo.pdb │ │ ├── azds_demo.runtimeconfig.dev.json │ │ └── azds_demo.runtimeconfig.json │ ├── charts │ └── azds-demo │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── templates │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ ├── secrets.yaml │ │ └── service.yaml │ │ └── values.yaml │ ├── obj │ ├── Container │ │ ├── AdditionalProbingPaths.cache │ │ ├── ContainerDevelopmentMode.cache │ │ ├── ContainerId.cache │ │ ├── ContainerOperatingSystemFlavor.cache │ │ ├── ContainerRunContext.cache │ │ ├── DebuggeeArguments.cache │ │ ├── DebuggeeKillProcessCommand.cache │ │ ├── DebuggeeProgram.cache │ │ ├── DebuggeeWorkingDirectory.cache │ │ ├── FastModeProjectMountDirectory.cache │ │ ├── ImageBuildContext.cache │ │ ├── ImageId.cache │ │ ├── OperatingSystemName.cache │ │ ├── RelativeOutputAssemblyPath.cache │ │ ├── TargetFramework.cache │ │ └── VsDbgScript.cache │ ├── Debug │ │ └── netcoreapp3.0 │ │ │ ├── Razor │ │ │ └── Views │ │ │ │ ├── Home │ │ │ │ ├── Index.cshtml.g.cs │ │ │ │ └── Privacy.cshtml.g.cs │ │ │ │ ├── Shared │ │ │ │ ├── Error.cshtml.g.cs │ │ │ │ ├── _Layout.cshtml.g.cs │ │ │ │ └── _ValidationScriptsPartial.cshtml.g.cs │ │ │ │ ├── _ViewImports.cshtml.g.cs │ │ │ │ └── _ViewStart.cshtml.g.cs │ │ │ ├── azds_demo.AssemblyInfo.cs │ │ │ ├── azds_demo.AssemblyInfoInputs.cache │ │ │ ├── azds_demo.MvcApplicationPartsAssemblyInfo.cache │ │ │ ├── azds_demo.RazorAssemblyInfo.cache │ │ │ ├── azds_demo.RazorAssemblyInfo.cs │ │ │ ├── azds_demo.RazorCoreGenerate.cache │ │ │ ├── azds_demo.RazorTargetAssemblyInfo.cache │ │ │ ├── azds_demo.RazorTargetAssemblyInfo.cs │ │ │ ├── azds_demo.TagHelpers.input.cache │ │ │ ├── azds_demo.TagHelpers.output.cache │ │ │ ├── azds_demo.Views.dll │ │ │ ├── azds_demo.Views.pdb │ │ │ ├── azds_demo.assets.cache │ │ │ ├── azds_demo.csproj.CopyComplete │ │ │ ├── azds_demo.csproj.FileListAbsolute.txt │ │ │ ├── azds_demo.csprojAssemblyReference.cache │ │ │ ├── azds_demo.dll │ │ │ ├── azds_demo.exe │ │ │ ├── azds_demo.pdb │ │ │ └── staticwebassets │ │ │ ├── azds_demo.StaticWebAssets.Manifest.cache │ │ │ └── azds_demo.StaticWebAssets.xml │ ├── azds_demo.csproj.nuget.cache │ ├── azds_demo.csproj.nuget.dgspec.json │ ├── azds_demo.csproj.nuget.g.props │ ├── azds_demo.csproj.nuget.g.targets │ └── project.assets.json │ └── wwwroot │ ├── css │ └── site.css │ ├── favicon.ico │ ├── js │ └── site.js │ └── lib │ ├── bootstrap │ ├── LICENSE │ └── dist │ │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map │ ├── jquery-validation-unobtrusive │ ├── LICENSE.txt │ ├── jquery.validate.unobtrusive.js │ └── jquery.validate.unobtrusive.min.js │ ├── jquery-validation │ ├── LICENSE.md │ └── dist │ │ ├── additional-methods.js │ │ ├── additional-methods.min.js │ │ ├── jquery.validate.js │ │ └── jquery.validate.min.js │ └── jquery │ ├── LICENSE.txt │ └── dist │ ├── jquery.js │ ├── jquery.min.js │ └── jquery.min.map ├── Chapter13 ├── 01_AksEngineCreateAadProfile.ps1 ├── 02_aks-engine-aad │ ├── CreateAKSEngineClusterWithWindowsNodes.ps1 │ └── kubernetes-windows-template.json ├── 03_network-policy │ ├── default-deny-all-ingress.yaml │ ├── default-nginx-allow-ingress.yaml │ ├── nginx-deployment.yaml │ └── nginx-service.yaml ├── 04_windows-secrets │ ├── secret-example.yaml │ └── windows-example-deployment.yaml └── 05_EncryptAzureVMDisks.ps1 ├── Chapter14 ├── 01_InstallWmiExporter.ps1 ├── 02_EnableDockerMetricServer.ps1 ├── 03_aks-engine-windows-extensions │ └── extensions │ │ └── prometheus-exporters │ │ └── v1 │ │ ├── installExporters.ps1 │ │ ├── supported-orchestrators.json │ │ ├── template-link.json │ │ └── template.json ├── 04_aks-engine-cluster-with-extensions │ ├── CreateAKSEngineClusterWithWindowsNodes.ps1 │ └── kubernetes-windows-template.json ├── 05_helm_prometheus │ ├── helm-values_grafana.yaml │ ├── helm-values_prometheus.yaml │ └── prereq.yaml ├── 06_voting-application-telegraf │ ├── .dockerignore │ ├── .gitignore │ ├── App_Start │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── NinjectWebCommon.cs │ │ ├── RouteConfig.cs │ │ └── WebApiConfig.cs │ ├── ApplicationInsights.config │ ├── Connected Services │ │ └── Application Insights │ │ │ └── ConnectedService.json │ ├── Content │ │ ├── Site.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── Controllers │ │ ├── HealthController.cs │ │ ├── HomeController.cs │ │ ├── OptionsController.cs │ │ ├── SurveysController.cs │ │ └── VotesController.cs │ ├── DockerBuildAndPush.ps1 │ ├── Dockerfile │ ├── Dockerfile.debug │ ├── Dockerfile.production │ ├── ErrorHandler │ │ └── AiHandleErrorAttribute.cs │ ├── Factories │ │ └── VotingApplicationContextFactory.cs │ ├── Filters │ │ └── LogExceptionFilter.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Interfaces │ │ ├── ICpuStressWorker.cs │ │ ├── IDateTimeProvider.cs │ │ └── IVoteLogManager.cs │ ├── LICENSE │ ├── LogMonitorConfig.json │ ├── Migrations │ │ └── Configuration.cs │ ├── Models │ │ ├── Option.cs │ │ ├── Survey.cs │ │ ├── Vote.cs │ │ └── VotingApplicationContext.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles │ │ │ ├── DockerPublishProfile.pubxml │ │ │ └── DockerPublishProfileDebug.pubxml │ ├── Scripts │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-3.3.1.intellisense.js │ │ ├── jquery-3.3.1.js │ │ ├── jquery-3.3.1.min.js │ │ ├── jquery-3.3.1.min.map │ │ ├── jquery-3.3.1.slim.js │ │ ├── jquery-3.3.1.slim.min.js │ │ ├── jquery-3.3.1.slim.min.map │ │ └── modernizr-2.8.3.js │ ├── Services │ │ ├── CpuStressWorker.cs │ │ ├── DateTimeProvider.cs │ │ └── VoteLogManager.cs │ ├── ViewModels │ │ ├── OptionResult.cs │ │ └── SurveyResult.cs │ ├── Views │ │ ├── Home │ │ │ ├── Index.cshtml │ │ │ └── VotingLog.cshtml │ │ ├── Options │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Surveys │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Results.cshtml │ │ │ └── Vote.cshtml │ │ ├── Votes │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── VotingApplication.csproj │ ├── VotingApplication.sln │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── config │ │ └── customErrors.config │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── packages.config │ └── telegraf.conf ├── 07_voting-application-telegraf-helm │ ├── .gitignore │ ├── .helmignore │ ├── Chart.lock │ ├── Chart.yaml │ ├── templates │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ ├── post-install-job.yaml │ │ ├── role.yaml │ │ ├── rolebinding.yaml │ │ ├── service.yaml │ │ ├── serviceaccount.yaml │ │ └── tests │ │ │ └── test-connection.yaml │ └── values.yaml ├── 08_voting-application-prometheus-net │ ├── .dockerignore │ ├── .gitignore │ ├── App_Start │ │ ├── BundleConfig.cs │ │ ├── FilterConfig.cs │ │ ├── NinjectWebCommon.cs │ │ ├── RouteConfig.cs │ │ └── WebApiConfig.cs │ ├── ApplicationInsights.config │ ├── Connected Services │ │ └── Application Insights │ │ │ └── ConnectedService.json │ ├── Content │ │ ├── Site.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap-theme.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ ├── Controllers │ │ ├── HealthController.cs │ │ ├── HomeController.cs │ │ ├── OptionsController.cs │ │ ├── SurveysController.cs │ │ └── VotesController.cs │ ├── DockerBuildAndPush.ps1 │ ├── Dockerfile │ ├── Dockerfile.debug │ ├── Dockerfile.production │ ├── ErrorHandler │ │ └── AiHandleErrorAttribute.cs │ ├── Factories │ │ └── VotingApplicationContextFactory.cs │ ├── Filters │ │ └── LogExceptionFilter.cs │ ├── Global.asax │ ├── Global.asax.cs │ ├── Interfaces │ │ ├── ICpuStressWorker.cs │ │ ├── IDateTimeProvider.cs │ │ └── IVoteLogManager.cs │ ├── LICENSE │ ├── LogMonitorConfig.json │ ├── Migrations │ │ └── Configuration.cs │ ├── Models │ │ ├── Option.cs │ │ ├── Survey.cs │ │ ├── Vote.cs │ │ └── VotingApplicationContext.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ └── PublishProfiles │ │ │ ├── DockerPublishProfile.pubxml │ │ │ └── DockerPublishProfileDebug.pubxml │ ├── Scripts │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── jquery-3.3.1.intellisense.js │ │ ├── jquery-3.3.1.js │ │ ├── jquery-3.3.1.min.js │ │ ├── jquery-3.3.1.min.map │ │ ├── jquery-3.3.1.slim.js │ │ ├── jquery-3.3.1.slim.min.js │ │ ├── jquery-3.3.1.slim.min.map │ │ └── modernizr-2.8.3.js │ ├── Services │ │ ├── CpuStressWorker.cs │ │ ├── DateTimeProvider.cs │ │ └── VoteLogManager.cs │ ├── ViewModels │ │ ├── OptionResult.cs │ │ └── SurveyResult.cs │ ├── Views │ │ ├── Home │ │ │ ├── Index.cshtml │ │ │ └── VotingLog.cshtml │ │ ├── Options │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ └── _Layout.cshtml │ │ ├── Surveys │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ ├── Index.cshtml │ │ │ ├── Results.cshtml │ │ │ └── Vote.cshtml │ │ ├── Votes │ │ │ ├── Create.cshtml │ │ │ ├── Delete.cshtml │ │ │ ├── Details.cshtml │ │ │ ├── Edit.cshtml │ │ │ └── Index.cshtml │ │ ├── Web.config │ │ └── _ViewStart.cshtml │ ├── VotingApplication.csproj │ ├── VotingApplication.sln │ ├── Web.Debug.config │ ├── Web.Release.config │ ├── Web.config │ ├── config │ │ └── customErrors.config │ ├── favicon.ico │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ ├── packages.config │ └── telegraf.conf ├── 09_voting-application-prometheus-net-helm │ ├── .gitignore │ ├── .helmignore │ ├── Chart.lock │ ├── Chart.yaml │ ├── templates │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── deployment.yaml │ │ ├── ingress.yaml │ │ ├── post-install-job.yaml │ │ ├── role.yaml │ │ ├── rolebinding.yaml │ │ ├── service.yaml │ │ ├── serviceaccount.yaml │ │ └── tests │ │ │ └── test-connection.yaml │ └── values.yaml ├── 10_helm_prometheus-net │ └── helm-values_prometheus.yaml ├── 11_helm_grafana_email_alerts │ └── helm-values_grafana.yaml └── 12_grafana_dashboard │ └── Voting Application-1575772504126.json ├── Chapter15 ├── 01_multimaster-aks-engine │ ├── CreateAKSEngineClusterWithWindowsNodes.ps1 │ └── kubernetes-windows-template.json ├── 02_CreateBlobContainerForBackups.ps1 ├── 03_etcd-snapshot-cronjob │ ├── Dockerfile │ ├── docker-entrypoint.sh │ ├── etcd-snapshot-cronjob.yaml │ └── etcd-snapshot-secrets.txt └── 04_AksEngineRestoreEtcdBackup.sh ├── Chapter16 ├── 01_aks-engine-flux │ ├── CreateAKSEngineClusterWithWindowsNodes.ps1 │ └── kubernetes-windows-template.json ├── 02_voting-application-flux │ ├── charts │ │ └── voting-application │ │ │ ├── .gitignore │ │ │ ├── .helmignore │ │ │ ├── Chart.lock │ │ │ ├── Chart.yaml │ │ │ ├── templates │ │ │ ├── NOTES.txt │ │ │ ├── _helpers.tpl │ │ │ ├── deployment.yaml │ │ │ ├── ingress.yaml │ │ │ ├── post-install-job.yaml │ │ │ ├── role.yaml │ │ │ ├── rolebinding.yaml │ │ │ ├── service.yaml │ │ │ ├── serviceaccount.yaml │ │ │ └── tests │ │ │ │ └── test-connection.yaml │ │ │ └── values.yaml │ ├── namespaces │ │ └── demo.yaml │ ├── releases │ │ └── voting-application.yaml │ └── storageclasses │ │ └── azure-disk.yaml └── 03_DeployFlux.ps1 ├── LICENSE └── README.md /Chapter01/01_docker-helloworld-iis/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/windows/servercore/iis:windowsservercore-1903 2 | 3 | RUN powershell -NoProfile -Command Remove-Item -Recurse C:\inetpub\wwwroot\* 4 | WORKDIR /inetpub/wwwroot 5 | COPY index.html . -------------------------------------------------------------------------------- /Chapter01/01_docker-helloworld-iis/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |