. Консольное приложение ядра .Net считывает конфигурационный файл на главном, как показано ниже.
static void Main(string[] args)
{
var configBuilder = new ConfigurationBuilder()
.AddJsonFile("//home/processorconfig/appsettings.json");
var configuration = configBuilder.Build();
...
}
Когда я запускаю образ докера с параметром -v
docker run -v C:\Configs\:/home/processorconfig/ -it 858a565b2069
, вывод:
Укажите --help для списка доступных опций и команд.
Когда я изменяю только букву в параметре тома, он запускает контейнер, но приложение получает исключение
docker run -v C:\Configs\:/home/processorconfg/ -it 858a565b2069
Вывод:
Необработанное исключение: System.IO.FileNotFoundException: файл конфигурации 'processorconfig / appsettings.json' не найден и не является обязательным.Физический путь - «/home/processorconfig/appsettings.json».в Microsoft.Extensions.Configuration.FileConfigurationProvider.Load (логическая перезагрузка) в Microsoft.Extensions.Configuration.ConfigurationRoot..ctor (поставщики IList`1) в Microsoft.Extensions.Configuration.ConfigurationBuilder.Build ()
Когда я меняю путь к консольному приложению AddJsonFile на другой, а затем добавляю том к пути при запуске, я получаю тот же вывод.
Любая помощь приветствуется.
Тот же результат с --mount
параметр
Обновление: обнаружил подсказку, что когда я удаляю appsetings.json в C: \ Configs, он запускает контейнер и получает сообщение об исключении.