Azure Functions Docker Deployment Linux工作进程在资源组中不可用

zz2j4svz  于 2023-08-07  发布在  Docker
关注(0)|答案(5)|浏览(97)

尝试通过函数app从Azure Container Registry部署nginix容器,
得到一个错误,
Linux工作程序在资源组中不可用
如何启用linux worker到资源组?
Dockerfile用于部署,

FROM nginx
COPY dist /usr/share/nginx/html

字符串

44u64gxh

44u64gxh1#

似乎您不能在同一资源组中拥有linux和windows资源
目前还有一个限制,即不能在同一个资源组中混合使用Windows和Linux应用程序。
https://learn.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro#limitations
因此,您目前唯一的选择就是为Linux资源创建一个新的资源组

vwoqyblh

vwoqyblh2#

[更新2022-02-16]

现在似乎可以在Linux和Windows应用程序服务计划之间共享资源组:https://learn.microsoft.com/en-us/azure/app-service/overview#limitations

[原件]

无法在同一资源组和同一位置创建Linux应用服务计划和Windows应用服务计划,但您可以使用同一资源组并在不同位置部署这两个计划。
基于当前的限制,对于同一资源组,您不能在同一区域中混合使用Windows和Linux应用程序。
https://learn.microsoft.com/en-us/azure/app-service/containers/app-service-linux-intro#limitations
虽然我发现,如果你在创建Linux应用服务计划之前通过REST apiterraform(也使用REST API)创建了应用服务证书,也会发生同样的错误。在同一位置创建证书之前,必须先创建Linux应用程序服务计划。

jmp7cifd

jmp7cifd3#

在某些情况下,当尝试创建函数应用程序时,您可能会收到以下错误...

  • 您正在现有资源组中创建Function App
  • 该资源组已经包含常规(即,非动态或高级)Web应用程序,而您正尝试创建函数应用程序。如果您在具有相同操作系统的应用服务高级计划的资源组中创建Azure Functions高级计划,甚至会发生这种情况。
  • 那些非动态或高级资源所在缩放单位尚不支持此SKU
  • 您正在尝试在具有任何其他应用程序服务计划类型的资源组中创建Linux消费应用程序。

...
即使在某些情况下,我们也有专门针对一个计划的池。例如,Linux消费戳只能运行Linux消费应用程序,因此您无法将Linux消费计划与任何其他应用程序服务计划放置在同一资源组中。功能本身可以在同一资源组中,但计划不能在同一资源组中。

参考

8i9zcol2

8i9zcol24#

如果您在不同的区域为LINUX应用程序创建应用程序服务计划(尽管资源组可以与Windows应用程序服务计划在同一区域),它应该仍然有效。

d8tt03nd

d8tt03nd5#

我今天在展开Bicep时遇到了这个问题。我正在使用“Microsoft.Web/serverfarms@2022-09- 01”创建2个服务计划,一个用于App Service,另一个用于Function App,两个Linux运行时在同一资源组中运行。
我设法通过改变创作的顺序使它工作。
1.我首先创建服务计划,并且功能应用的服务计划也在应用服务计划之前创建。
1.然后,我在最后创建了应用程序服务,在创建了我需要的所有其他东西之后,它工作了。

相关问题