Так что я не уверен, как это объяснить. Я использую Azure Функции как Docker Изображения (c#) У меня есть несколько файлов, которые при запуске функции Azure в Visual Studio копируются в каталог bin, и скомпилированный код прекрасно их подхватывает. (не docker)
Когда я создаю Docker изображение и запускаю его, файлы снова находятся там, где, как я думаю, они должны быть (я вошел в Docker Snapshot / home / site / wwwroot/bin/)
Однако каталог Azure function root - это путь Content root: / (Environment.CurrentDirectory), который я понятия не имею, где он находится.
I сделал функцию, чтобы вывести список всех файлов в /, и это был файл .dockerenv.
Я жестко закодировал пути в своей функции Azure к нужным файлам / home / site / wwwroot/ et c и библиотека, которую я использую sh* ts a brick
DockerFile
FROM microsoft/dotnet:2.2-sdk AS installer-env
COPY . /src/dotnet-function-app
RUN cd /src/dotnet-function-app && \
mkdir -p /home/site/wwwroot && \
dotnet publish *.csproj --output /home/site/wwwroot
# To enable ssh & remote debugging on app service change the base image to the one below
# FROM mcr.microsoft.com/azure-functions/dotnet:2.0-appservice
FROM mcr.microsoft.com/azure-functions/dotnet:2.0
ENV AzureWebJobsScriptRoot=/home/site/wwwroot \
AzureFunctionsJobHost__Logging__Console__IsEnabled=true
COPY --from=installer-env ["/home/site/wwwroot", "/home/site/wwwroot"]
ADD aiml /home/site/wwwroot/bin/aiml
ADD config /home/site/wwwroot/bin/config
Я следую этому уроку https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-function-linux-custom-image?tabs=bash%2Cportal&pivots=programming-language-csharp
По умолчанию где в контейнере находится каталог root, в котором находится этот файл .dockerenv?