Я использую контейнер Docker с удостоверением gMSA для подключения к SQL Server через проверку подлинности Windows. Я подтвердил, что идентификатор gMSA правильно работает в контейнере, однако я получаю сообщение об ошибке формата строки подключения SQL:
"Формат строки инициализации не соответствует спецификации, начиная с индекса 0."
Мой Dockerfile выглядит так:
FROM microsoft/dotnet:2.2-runtime-nanoserver-sac2016
COPY . .
ENTRYPOINT ["dotnet", "Daemon.dll"]
CMD ["EventConfig:MqHostName=10.23.2.1", "ConnectionStrings:TestDb1=Data Source=10.23.2.1;Initial Catalog=Events;Integrated Security=true", "ConnectionStrings:TestDb2=Data Source=10.23.2.1;Initial Catalog=Notifications;Integrated Security=true", "ConnectionStrings:TestDb3=Data Source=10.23.2.1;Initial Catalog=TESTDB;Integrated Security=true"]
Запуск проверки докера на контейнере выглядит так, как будто параметры CMD анализируются правильно, но я все еще получаю сообщение об ошибке. Строки подключения работают без проблем за пределами Docker.
Я пытался окружить строки подключения символом обратной черты `, одинарных кавычек, двойных кавычек и косой черты. Я также попытался передать строки как переменные ENV, а не как параметры CMD. Я также попытался добавить директиву парсера, такую как
# escape=`
к началу моего Dockerfile. Любая помощь будет принята с благодарностью.