Как я могу отключить наблюдателя изменения конфигурации ядра aspnet по умолчанию? - PullRequest
0 голосов
/ 29 мая 2019

У меня есть основное приложение ASPNET, работающее в контейнере Docker. В настоящее время я не могу запустить более 64 контейнеров ( изначально описанных здесь ) изображения, которое я создал.

При интерактивном запуске контейнера я обнаружил эту ошибку на этапе запуска.

Необработанное исключение: System.IO.IOException: Сконфигурированное пользовательское ограничение (128) на количество экземпляров inotify было достигнуто.

в System.IO.FileSystemWatcher.StartRaisingEvents () в System.IO.FileSystemWatcher.StartRaisingEventsIfNotDisposed () в System.IO.FileSystemWatcher.set_EnableRaisingEvents (логическое значение) в Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.TryEnableFileSystemWatcher () в Microsoft.Extensions.FileProviders.Physical.PhysicalFilesWatcher.CreateFileChangeToken (строковый фильтр) в Microsoft.Extensions.FileProviders.PhysicalFileProvider.Watch (строковый фильтр) в Microsoft.Extensions.Configuration.FileConfigurationProvider. <. ctor> b__0_0 ()

в Microsoft.Extensions.Primitives.ChangeToken.OnChange (Func`1 changeTokenProducer, действие changeTokenConsumer) в Microsoft.Extensions.Configuration.FileConfigurationProvider..ctor (источник FileConfigurationSource) в Microsoft.Extensions.Configuration.Json.JsonConfigurationSource.Build (сборщик IConfigurationBuilder) в Microsoft.Extensions.Configuration.ConfigurationBuilder.Build () в

Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildCommonServices (AggregateException & hostingStartupErrors) в Microsoft.AspNetCore.Hosting.WebHostBuilder.Build () в MyProjectName.Program.Main (String [] args) в /src/MyProjectName/Program.cs:line 10

Program.cs имеет только содержимое по умолчанию

 1 using Microsoft.AspNetCore;
 2 using Microsoft.AspNetCore.Hosting;
 3
 4 namespace CmcIiiCgiSim
 5 {
 6    public class Program
 7    {
 8        public static void Main(string[] args)
 9        {
10            CreateWebHostBuilder(args).Build().Run();
11        }
12
13        public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
14            WebHost.CreateDefaultBuilder(args)
15                .UseStartup<Startup>();
16     }
17 }

Похоже, что наблюдение за изменениями конфигурации является настройкой по умолчанию ASP или, скорее, любого основного приложения ASPNET ( см. Документацию MS )

Мой вопрос: как я могу отключить эту опцию в settings для существующих файлов конфигурации? В надежде, что это также отключит наблюдателя файловой системы и избавит от ошибки.

Я нашел немало примеров, в которых говорится, как это можно сделать программно для дополнительных файлов настроек. Но в моем случае конфигурация не изменится, и я бы предпочел, чтобы изображение не ограничивалось 64 контейнерами.

...