Как сохранить мой appsettings.json на хост-машине из контейнера Docker и смонтировать этот единственный файл - PullRequest
0 голосов
/ 25 января 2019

У меня есть приложение aspnetcore, которое было упаковано в контейнер и работает правильно, значение узла ConnectionStrings в файле appsettings.jon сохраняется на основе значения, введенного из веб-интерфейса при настройке приложения, и этот файл не долженне будет перезаписано после первоначальной настройки при обновлении приложения, поскольку вы знаете, что контейнеры эфемерны.У меня есть SetUpController для этого, и все работает хорошо, причина для этого заключается в том, что для большинства наших клиентов приложение работает локально и у них разные настройки.

Мой вопрос заключается в том, как обеспечить appsettings.jonне перезаписывается при обновлении контейнера.Я хочу иметь возможность скопировать файл на том хоста после успешной настройки приложения и смонтировать appsettings.json с тома хоста при следующем запуске приложения.Я использую контейнер Linux на Windows и Docker Toolbox, потому что система, в которой запущено приложение, не может установить Docker для Windows.

Как мне смонтировать appsettings.json, который хранится на хост-машине каждый раз, когда запускается приложение?

Я проверил идеи в Интернете, но ни одна из них, похоже, не работает.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Так что, в основном, поскольку я использую Docker Toolbox для Windows, папка хоста, доступная для него по умолчанию, - / c / Users, вы можете проверить это, открыв VirtualBox -> settings -> Shared Folders, но я пытался смонтировать / c / appк которой виртуальная машина не имеет доступа.Поэтому я изменил команду запуска на эту

docker run -d --name=containername -p 80:80 -v /c/Users/appsettings.json:/app/appsettings.json imagename

Также, если вы используете Docker ToolBox для окон, убедитесь, что монтируемый вами файл существует в расположении, прежде чем запускать команду, в некоторых случаях, если вы столкнулись с проблемойЯ бы также порекомендовал перезапустить виртуальную машину, используя

docker-machine restart default
0 голосов
/ 25 января 2019

Я бы использовал постоянное хранилище для этого, документирующая документация по https://docs.docker.com/storage/ объяснит намного лучше, чем я, как использовать для ваших целей.

Надеюсь, это поможет

...