我正在尝试使用Docker运行计时器触发天蓝色函数示例。在调试和发布模式下,它都可以在Visual Studio中正常工作。但是当使用docker
docker run -d -p 8080:80 testdockercors
应用程序启动,并显示以下消息,但我的计时器触发azure函数未运行。
Hosting environment: Production
Content root path: /app
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down..
但是从Visual Studio运行时,计时器触发器可以正常工作。请找到我的docker文件。
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["Testdockercors/Testdockercors.csproj","Testdockercors/"]
RUN dotnet restore "Testdockercors/Testdockercors.csproj"
COPY . .
WORKDIR "/src/Testdockercors"
RUN dotnet build "Testdockercors.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Testdockercors.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENV AzureWebJobsScriptRoot=/app
ENV AzureWebJobsStorage="UseDevelopmentStorage=true"
当我将环境AzureWebJobsStorage
的值更改为现有的Azure存储连接字符串时,它也可以在docker中使用。但我想使用属于docker一部分的存储,而不是Azure可用的存储。