У меня есть два пути. Один для получения шаблонов и один для создания документов. Развертывание этого на Docker работает нормально (приложение запускается, работает и не выдает предупреждений), bind mount создает эти 2 каталога на моем локальном компьютере, но, похоже, не использует их, или даже создать их? в контейнере.
Вот что я попробовал:
1) Указанные пути в AppSettings. json (это моя конфигурация без Docker, она будет переопределена ниже в docker -compose file)
"RootDirectoryForDocuments": {
"DocumentsRoot": "TestDocumentsDir",
"TemplatesRoot": "TestTemplatesDir"
}
2) Создан Docker Compose File. Сначала я даю пути в качестве переменных среды, а затем пытаюсь заставить контейнер использовать их в разделе томов:
version: "3.7"
services:
hraapi:
build: ../Hra.Api
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ENV_RootDirectoryForDocuments_DocumentsRoot="/app/GeneratedDocs"
- ENV_RootDirectoryForDocuments_TemplatesRoot="/app/Templates"
image: user/hra.api:v1.0
container_name: hra.api
ports:
- "5000:80"
depends_on:
- hradb
volumes:
- C:/Users/User/Desktop/GeneratedDocs:/app/GeneratedDocs
- C:/Users/User/Desktop/Templates:/app/Templates
Когда я запускаю этот DockerCompose, он автоматически создает эти 2 папки на моем рабочем столе. Тем не менее, я надеялся, что он будет создавать и использовать их также в контейнере. Я много пытался выяснить, как структурируются ASP. NET Базовые контейнеры, чтобы использовать уже существующий путь, но безуспешно.