diff --git a/AppDemo/.dockerignore b/AppDemo/.dockerignore
new file mode 100644
index 0000000..3729ff0
--- /dev/null
+++ b/AppDemo/.dockerignore
@@ -0,0 +1,25 @@
+**/.classpath
+**/.dockerignore
+**/.env
+**/.git
+**/.gitignore
+**/.project
+**/.settings
+**/.toolstarget
+**/.vs
+**/.vscode
+**/*.*proj.user
+**/*.dbmdl
+**/*.jfm
+**/azds.yaml
+**/bin
+**/charts
+**/docker-compose*
+**/Dockerfile*
+**/node_modules
+**/npm-debug.log
+**/obj
+**/secrets.dev.yaml
+**/values.dev.yaml
+LICENSE
+README.md
\ No newline at end of file
diff --git a/AppDemo/AppDemo.sln b/AppDemo/AppDemo.sln
new file mode 100644
index 0000000..9ba88ce
--- /dev/null
+++ b/AppDemo/AppDemo.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.31911.196
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppDemo", "AppDemo\AppDemo.csproj", "{91A256A6-962E-4D61-887C-2E7BAD206002}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{91A256A6-962E-4D61-887C-2E7BAD206002}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{91A256A6-962E-4D61-887C-2E7BAD206002}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{91A256A6-962E-4D61-887C-2E7BAD206002}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{91A256A6-962E-4D61-887C-2E7BAD206002}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {92E0A98C-A330-485F-B3CA-F3DEC02824B2}
+	EndGlobalSection
+EndGlobal
diff --git a/AppDemo/AppDemo/App.config b/AppDemo/AppDemo/App.config
new file mode 100644
index 0000000..49cc43e
--- /dev/null
+++ b/AppDemo/AppDemo/App.config
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+</configuration>
\ No newline at end of file
diff --git a/AppDemo/AppDemo/AppDemo.csproj b/AppDemo/AppDemo/AppDemo.csproj
new file mode 100644
index 0000000..f3d2391
--- /dev/null
+++ b/AppDemo/AppDemo/AppDemo.csproj
@@ -0,0 +1,33 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>Exe</OutputType>
+    <TargetFramework>net5.0</TargetFramework>
+    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="6.0.0" />
+    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />
+    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.11.1" />
+    <PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
+  </ItemGroup>
+
+  <ItemGroup>
+    <None Update="App.config">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Update="appsettings.Development.json">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+    <None Update="appsettings.json">
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+    </None>
+  </ItemGroup>
+
+</Project>
diff --git a/AppDemo/AppDemo/Dockerfile b/AppDemo/AppDemo/Dockerfile
new file mode 100644
index 0000000..46376c7
--- /dev/null
+++ b/AppDemo/AppDemo/Dockerfile
@@ -0,0 +1,20 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
+WORKDIR /app
+
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
+WORKDIR /src
+COPY ["AppDemo/AppDemo.csproj", "AppDemo/"]
+RUN dotnet restore "AppDemo/AppDemo.csproj"
+COPY . .
+WORKDIR "/src/AppDemo"
+RUN dotnet build "AppDemo.csproj" -c Release -o /app/buildQ--	
+
+FROM build AS publish
+RUN dotnet publish "AppDemo.csproj" -c Release -o /app/publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "AppDemo.dll"]
\ No newline at end of file
diff --git a/AppDemo/AppDemo/Program.cs b/AppDemo/AppDemo/Program.cs
new file mode 100644
index 0000000..95866cc
--- /dev/null
+++ b/AppDemo/AppDemo/Program.cs
@@ -0,0 +1,68 @@
+using Microsoft.Extensions.Configuration;
+
+using System;
+using System.Diagnostics;
+using System.Threading;
+
+namespace AppDemo
+{
+    class Program
+    {
+        static void Main(string[] args)
+        {
+            var netcoreEnvironmentName = "DOTNET_ENVIRONMENT";
+            var environmentValue = Environment.GetEnvironmentVariable(netcoreEnvironmentName);
+
+
+            var builder = new ConfigurationBuilder()
+                .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
+                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
+                .AddJsonFile($"appsettings.{environmentValue}.json", optional: true, reloadOnChange: true)
+                .AddEnvironmentVariables()
+                .AddCommandLine(args);
+
+            var configurationRoot = builder.Build();
+
+            var jsonSerializerSettings = new Newtonsoft.Json.JsonSerializerSettings()
+            {
+                Formatting = Newtonsoft.Json.Formatting.Indented,
+            };
+
+            while (true)
+            {
+                Console.WriteLine("当前运行环境");
+                Console.WriteLine($"运行模式:{(Debugger.IsAttached ? "调试模式" : "发布模式")}");
+                Console.WriteLine($"args参数:{string.Join(",", args ?? new string[0])}");
+
+                var environmetValue = configurationRoot.GetValue<string>(netcoreEnvironmentName);
+                Console.WriteLine($"配置项中,{netcoreEnvironmentName}={environmetValue}");
+
+                if (args != null)
+                {
+                    foreach (var arg in args)
+                    {
+                        Console.WriteLine($"args传参数:{arg}");
+                        if (!string.IsNullOrWhiteSpace(arg))
+                        {
+                            var argList = arg.Split('=');
+                            if (argList.Length == 2)
+                            {
+                                Console.WriteLine($"配置管理中,{argList[0]}的值为:{configurationRoot.GetValue<string>(argList[0])}");
+                            }
+                        }
+                    }
+                }
+
+                Console.WriteLine("---------------------------------------------------------------------");
+                Console.WriteLine();
+
+                //var configText = Newtonsoft.Json.JsonConvert.SerializeObject(configurationRoot.GetChildren(),jsonSerializerSettings);
+                //Console.WriteLine("当前配置:");
+                //Console.WriteLine(configText);
+                //Console.WriteLine("---------------------------------------------------------------------");
+                //Console.WriteLine();
+                Thread.Sleep(5000);
+            }
+        }
+    }
+}
diff --git a/AppDemo/AppDemo/Properties/launchSettings.json b/AppDemo/AppDemo/Properties/launchSettings.json
new file mode 100644
index 0000000..b4c1f6d
--- /dev/null
+++ b/AppDemo/AppDemo/Properties/launchSettings.json
@@ -0,0 +1,13 @@
+{
+  "profiles": {
+    "AppDemo": {
+      "commandName": "Project",
+      "environmentVariables": {
+        "DOTNET_ENVIRONMENT": "Development"
+      }
+    },
+    "Docker": {
+      "commandName": "Docker"
+    }
+  }
+}
\ No newline at end of file
diff --git a/AppDemo/AppDemo/appsettings.Development.json b/AppDemo/AppDemo/appsettings.Development.json
new file mode 100644
index 0000000..7bd8da1
--- /dev/null
+++ b/AppDemo/AppDemo/appsettings.Development.json
@@ -0,0 +1,3 @@
+{
+  "urls": ["https://www.baidu.com","cn.bing.com"]
+}
\ No newline at end of file
diff --git a/AppDemo/AppDemo/appsettings.json b/AppDemo/AppDemo/appsettings.json
new file mode 100644
index 0000000..deb7bd6
--- /dev/null
+++ b/AppDemo/AppDemo/appsettings.json
@@ -0,0 +1,12 @@
+{
+  "NETCORE": "Development",
+  "urls": [ "https://www.baidu.com", "cn.bing.com" ],
+  "exclude": [
+    "**/bin",
+    "**/bower_components",
+    "**/jspm_packages",
+    "**/node_modules",
+    "**/obj",
+    "**/platforms"
+  ]
+}
\ No newline at end of file
diff --git a/AppDemo/Dockerfile b/AppDemo/Dockerfile
new file mode 100644
index 0000000..8ad2984
--- /dev/null
+++ b/AppDemo/Dockerfile
@@ -0,0 +1,20 @@
+#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
+
+FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
+WORKDIR /app
+
+FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
+WORKDIR /src
+COPY ["AppDemo/AppDemo.csproj", "AppDemo/"]
+RUN dotnet restore "AppDemo/AppDemo.csproj"
+COPY . .
+WORKDIR "/src/AppDemo"
+RUN dotnet build "AppDemo.csproj" -c Release -o /app/build
+
+FROM build AS publish
+RUN dotnet publish "AppDemo.csproj" -c Release -o /app/publish
+
+FROM base AS final
+WORKDIR /app
+COPY --from=publish /app/publish .
+ENTRYPOINT ["dotnet", "AppDemo.dll"]
\ No newline at end of file
diff --git a/Demo/NetAppDemo/App/AppDemo.dll b/Demo/NetAppDemo/App/AppDemo.dll
index bf67e4c..371f624 100644
Binary files a/Demo/NetAppDemo/App/AppDemo.dll and b/Demo/NetAppDemo/App/AppDemo.dll differ
diff --git a/Demo/NetAppDemo/App/appsettings.Development.json b/Demo/NetAppDemo/App/appsettings.Development.json
index b9dea1e..7bd8da1 100644
--- a/Demo/NetAppDemo/App/appsettings.Development.json
+++ b/Demo/NetAppDemo/App/appsettings.Development.json
@@ -1,11 +1,3 @@
 {
-  "urls": ["https://www.baidu.com","cn.bing.com"], 
-  "exclude": [
-    "**/bin",
-    "**/bower_components",
-    "**/jspm_packages",
-    "**/node_modules",
-    "**/obj",
-    "**/platforms"
-  ]
+  "urls": ["https://www.baidu.com","cn.bing.com"]
 }
\ No newline at end of file
diff --git a/Demo/NetAppDemo/App/appsettings.json b/Demo/NetAppDemo/App/appsettings.json
index b9dea1e..deb7bd6 100644
--- a/Demo/NetAppDemo/App/appsettings.json
+++ b/Demo/NetAppDemo/App/appsettings.json
@@ -1,5 +1,6 @@
 {
-  "urls": ["https://www.baidu.com","cn.bing.com"], 
+  "NETCORE": "Development",
+  "urls": [ "https://www.baidu.com", "cn.bing.com" ],
   "exclude": [
     "**/bin",
     "**/bower_components",
diff --git a/Demo/NetAppDemo/Dockerfile b/Demo/NetAppDemo/Dockerfile
index d2fff48..c00bc28 100644
--- a/Demo/NetAppDemo/Dockerfile
+++ b/Demo/NetAppDemo/Dockerfile
@@ -1,5 +1,7 @@
+# 直接复制发布文件
 FROM mcr.microsoft.com/dotnet/runtime:5.0 AS base
-WORKDIR /app         
-COPY ./publish .
-
+WORKDIR /app 
+ENV DOTNET_ENVIRONMENT="Dockerfile_env"        
+COPY ./App .
+# CMD [ "DOTNET_ENVIRONMENT=Dockerfile_cmd" ]
 ENTRYPOINT [ "dotnet","AppDemo.dll" ]
\ No newline at end of file