diff --git a/quickstart/201-web-app-on-docker-container/.terraform-docs.yml b/quickstart/201-web-app-on-docker-container/.terraform-docs.yml
new file mode 100644
index 000000000..45efe4754
--- /dev/null
+++ b/quickstart/201-web-app-on-docker-container/.terraform-docs.yml
@@ -0,0 +1,11 @@
+formatter: "markdown table"
+
+content: |-
+ {{ .Resources }}
+ {{ .Inputs }}
+ {{ .Providers }}
+ {{ .Requirements }}
+
+output:
+ file: readme.html.markdown
+ mode: inject
\ No newline at end of file
diff --git a/quickstart/201-web-app-on-docker-container/.tflint.hcl b/quickstart/201-web-app-on-docker-container/.tflint.hcl
new file mode 100644
index 000000000..3e2ee6d62
--- /dev/null
+++ b/quickstart/201-web-app-on-docker-container/.tflint.hcl
@@ -0,0 +1,71 @@
+/*
+THIS FILE IS GENERATED BY TFMOD-SCAFFOLD, PLEASE DO NOT MODIFY IT.
+IF YOU WANT TO USE A CUSTOMIZED CONFIGURATION, PLEASE CREATE YOUR OWN AND
+SET THIS FILE'S PATH TO $TFLINT_CONFIG ENVVIRONMENT VARIABLE.
+*/
+
+plugin "azurerm" {
+ enabled = true
+ version = "0.18.0"
+ source = "github.com/terraform-linters/tflint-ruleset-azurerm"
+}
+
+rule "terraform_comment_syntax" {
+ enabled = true
+}
+
+rule "terraform_deprecated_index" {
+ enabled = true
+}
+
+rule "terraform_deprecated_interpolation" {
+ enabled = true
+}
+
+rule "terraform_documented_outputs" {
+ enabled = true
+}
+
+rule "terraform_documented_variables" {
+ enabled = true
+}
+
+rule "terraform_module_pinned_source" {
+ enabled = true
+}
+
+rule "terraform_module_version" {
+ enabled = true
+}
+
+rule "terraform_naming_convention" {
+ enabled = true
+}
+
+rule "terraform_required_providers" {
+ enabled = true
+}
+
+rule "terraform_required_version" {
+ enabled = true
+}
+
+rule "terraform_standard_module_structure" {
+ enabled = false
+}
+
+rule "terraform_typed_variables" {
+ enabled = true
+}
+
+rule "terraform_unused_declarations" {
+ enabled = true
+}
+
+rule "terraform_unused_required_providers" {
+ enabled = true
+}
+
+rule "terraform_workspace_remote" {
+ enabled = true
+}
\ No newline at end of file
diff --git a/quickstart/201-web-app-on-docker-container/main.tf b/quickstart/201-web-app-on-docker-container/main.tf
new file mode 100644
index 000000000..875c9a3b7
--- /dev/null
+++ b/quickstart/201-web-app-on-docker-container/main.tf
@@ -0,0 +1,80 @@
+resource "azurerm_resource_group" "default" {
+ name = "${var.name_prefix}-rg"
+ location = var.location
+}
+
+resource "azurerm_user_assigned_identity" "default" {
+ name = "${var.name_prefix}-uai"
+ resource_group_name = azurerm_resource_group.default.name
+ location = azurerm_resource_group.default.location
+}
+
+resource "azurerm_container_registry" "default" {
+ name = "${var.name_prefix}acr"
+ resource_group_name = azurerm_resource_group.default.name
+ location = azurerm_resource_group.default.location
+ sku = "Premium"
+ identity {
+ type = "UserAssigned"
+ identity_ids = [
+ azurerm_user_assigned_identity.default.id
+ ]
+ }
+}
+
+resource "azurerm_service_plan" "default_linux" {
+ name = "${var.name_prefix}-sp-linux"
+ location = azurerm_resource_group.default.location
+ resource_group_name = azurerm_resource_group.default.name
+ sku_name = "P1v3"
+ os_type = "Linux"
+}
+
+resource "azurerm_service_plan" "default_windows" {
+ name = "${var.name_prefix}-sp-windows"
+ location = azurerm_resource_group.default.location
+ resource_group_name = azurerm_resource_group.default.name
+ sku_name = "P1v3"
+ os_type = "Windows"
+}
+
+# when setting docker container for web app, please use app_setting block to specify the container registry information such as URL and credentials, instead of docker_container_registry property in application_stack block. Service will try to locate the docker image based on linuxFxVersion/ windowsFxVersion property and they are composed following the format: DOCKER|containerRegistry/containerName:containerTag in terraform provider.
+resource "azurerm_linux_web_app" "default" {
+ name = "${var.name_prefix}-lwa"
+ location = azurerm_resource_group.default.location
+ resource_group_name = azurerm_resource_group.default.name
+ service_plan_id = azurerm_service_plan.default_linux.id
+ app_settings = {
+ "DOCKER_REGISTRY_SERVER_URL" = "https://${azurerm_container_registry.default.name}.azurecr.io"
+ "DOCKER_REGISTRY_SERVER_USERNAME" = "username"
+ "DOCKER_REGISTRY_SERVER_PASSWORD" = "password"
+ "WEBSITES_ENABLE_APP_SERVICE_STORAGE" = "false"
+ }
+ site_config {
+ application_stack {
+ docker_image = "testimage"
+ docker_image_tag = "latest"
+ }
+ }
+}
+
+resource "azurerm_windows_web_app" "default" {
+ name = "${var.name_prefix}-wwa"
+ location = azurerm_resource_group.default.location
+ resource_group_name = azurerm_resource_group.default.name
+ service_plan_id = azurerm_service_plan.default_windows.id
+ app_settings = {
+ "DOCKER_REGISTRY_SERVER_URL" = "https://index.docker.io"
+ "DOCKER_REGISTRY_SERVER_USERNAME" = "username"
+ "DOCKER_REGISTRY_SERVER_PASSWORD" = "password"
+ "WEBSITES_ENABLE_APP_SERVICE_STORAGE" = "false"
+ }
+ site_config {
+ application_stack {
+ docker_container_name = "testimage"
+ docker_container_tag = "latest"
+ }
+ }
+}
+
+
diff --git a/quickstart/201-web-app-on-docker-container/providers.tf b/quickstart/201-web-app-on-docker-container/providers.tf
new file mode 100644
index 000000000..74d8804c1
--- /dev/null
+++ b/quickstart/201-web-app-on-docker-container/providers.tf
@@ -0,0 +1,13 @@
+terraform {
+ required_version = ">=1.0"
+
+ required_providers {
+ azurerm = {
+ source = "hashicorp/azurerm"
+ version = "~>3.8"
+ }
+ }
+}
+provider "azurerm" {
+ features {}
+}
\ No newline at end of file
diff --git a/quickstart/201-web-app-on-docker-container/readme.html.markdown b/quickstart/201-web-app-on-docker-container/readme.html.markdown
new file mode 100644
index 000000000..15184ad4b
--- /dev/null
+++ b/quickstart/201-web-app-on-docker-container/readme.html.markdown
@@ -0,0 +1,46 @@
+# Azure Windows/ Linux Web App running on Docker Container
+
+This template deploys an Azure Function App running on Docker Container
+
+
+
+
+
+
+
+
+
+
+## Resources
+
+| Name | Type |
+|--------------------------------------------------------------------------------------------------------------------------------------------------|----------|
+| [azurerm_container_registry.default](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/container_registry) | resource |
+| [azurerm_linux_web_app.default](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/linux_web_app) | resource |
+| [azurerm_resource_group.default](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/resource_group) | resource |
+| [azurerm_service_plan.default_linux](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/service_plan) | resource |
+| [azurerm_service_plan.default_windows](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/service_plan) | resource |
+| [azurerm_user_assigned_identity.default](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/user_assigned_identity) | resource |
+| [azurerm_windows_web_app.default](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/windows_web_app) | resource |
+## Inputs
+
+| Name | Description | Type | Default | Required |
+|-----------------------------------------------------------------------|---------------------------------------|----------|---------------|:--------:|
+| [location](#input\_location) | Location to deploy the resource group | `string` | `"West US 2"` | no |
+| [name\_prefix](#input\_name\_prefix) | Prefix of the resource name | `string` | n/a | yes |
+## Providers
+
+| Name | Version |
+|---------------------------------------------------------------|---------|
+| [azurerm](#provider\_azurerm) | ~>3.8 |
+## Requirements
+
+| Name | Version |
+|---------------------------------------------------------------------------|---------|
+| [terraform](#requirement\_terraform) | >=1.0 |
+| [azurerm](#requirement\_azurerm) | ~>3.8 |
+
+
+## Example
+
+To see how to run this example, see [Create an Azure Function App using Terraform](https://docs.microsoft.com/azure/developer/terraform/create-azure-windows-linux-web-app-running-on-docker-container).
\ No newline at end of file
diff --git a/quickstart/201-web-app-on-docker-container/variables.tf b/quickstart/201-web-app-on-docker-container/variables.tf
new file mode 100644
index 000000000..e4c010124
--- /dev/null
+++ b/quickstart/201-web-app-on-docker-container/variables.tf
@@ -0,0 +1,10 @@
+variable "name_prefix" {
+ type = string
+ description = "Prefix of the resource name"
+}
+
+variable "location" {
+ type = string
+ description = "Location to deploy the resource group"
+ default = "West US 2"
+}