Azure逻辑应用程序的最新公告称
"有了这个版本,你现在可以在任何运行Azure的地方运行Logic应用程序函数–在Docker或Kubernetes环境中容器化,例如用于托管PaaS的AKS(Azure Kubernetes服务(或应用程序服务经验;
它可以在docker中托管吗?我没有看到任何与此相关的文章。
是的,文档展示了如何将应用程序打包到Docker容器中:https://learn.microsoft.com/en-us/azure/logic-apps/create-stateful-stateless-workflows-visual-studio-code#deploy-到码头集装箱。
来自文档:
dotnet build-c发布
dotnet publish-c发布
docker构建--标记本地/工作流容器。
该示例使用如下的dockerfile:
FROM mcr.microsoft.com/azure-functions/dotnet:3.0.14492-appservice
ENV AzureWebJobsStorage <storage-account-connection-string>
ENV AZURE_FUNCTIONS_ENVIRONMENT Development
ENV AzureWebJobsScriptRoot=/home/site/wwwroot
ENV AzureFunctionsJobHost__Logging__Console__IsEnabled=true
ENV FUNCTIONS_V2_COMPATIBILITY_MODE=true
COPY ./bin/Release/netcoreapp3.1/publish/ /home/site/wwwroot
然后使用运行容器
docker run-e WEBSITE_HOSTNAME=localhost-p 8080:80 local/workflowcontainer
上面引用的链接不再提供有关如何实现Docker支持的信息。
把上面的回复拼凑在一起,我最终做了以下事情:
- 在VSCode中的逻辑应用程序项目中,将DockerFile添加到项目的根目录
- 粘贴docker说明中引用的@juunas:
FROM mcr.microsoft.com/azure-functions/dotnet:3.0.14492-appservice
ENV AzureWebJobsStorage={FILL-IN-YOUR-STORAGE-ACCOUNT-CONNECTION-STRING}
ENV AZURE_FUNCTIONS_ENVIRONMENT Development
ENV AzureWebJobsScriptRoot=/home/site/wwwroot
ENV AzureFunctionsJobHost__Logging__Console__IsEnabled=true
ENV FUNCTIONS_V2_COMPATIBILITY_MODE=true
COPY ./bin/release/netcoreapp3.1/publish/ /home/site/wwwroot
- 从命令提示符运行以下命令
dotnet build -c release
dotnet publish -c release
- 构建docker镜像
docker build --tag local/workflowcontainer .
- 运行您的容器
docker run -e WEBSITE_HOSTNAME=localhost -p 8080:80 local/workflowcontainer
我从以下网站收集了以上信息:
https://microsoft.github.io/AzureTipsAndTricks/blog/tip311.html