Azure Docker Web App中的“启动文件”

14

"启动文件"选项是在Docker Web App的选项中为docker-compose文件还是shell命令?我找不到关于它的任何文档...

基本上,当我将镜像推送到我的Web App时,我想让它运行一个docker-compose.yml,而不是执行docker run [options]。

Docker启动文件选项


这是针对Shell的(基于我的经验,我曾经运行过它)。请注意,您的容器有限的时间来启动,否则Azure会将其终止。定义其是否存活的标准是正确响应端口80。 - Dessus
3个回答

5
这里已经有文档记录了,详情请见下方或点击此处

当我配置运行时栈时,启动文件部分的预期值是什么?

对于 Node.js,您需要指定 PM2 配置文件或脚本文件。对于 .NET Core,请将编译后的 DLL 名称指定为 dotnet <myapp>.dll。对于 Ruby,则可以指定要使用的 Ruby 脚本来初始化应用程序。


2
不确定这是否仍然是一个问题,但我刚刚注意到它将你输入的任何内容附加到默认的启动命令中。"最初的回答"
2019-09-02 05:03:04.493 INFO  - docker run -d -p 55721:80 --name xxxxxx -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITE_SITE_NAME=xxxxx -e WEBSITE_AUTH_ENABLED=False -e PORT=80 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=xxxxxx.azurewebsites.net -e WEBSITE_INSTANCE_ID=xxxxxxxxx -e HTTP_LOGGING_ENABLED=1 xxxxxx.azurecr.io/xxxxxxx:latest -p 80:4000 -p 443:8000

我将"-p 80:4000 -p 443:8000"放入门户配置中的文本框中。最初的回答。

按照设计,镜像参数后的最后一个Docker参数是要执行命令/脚本的CMD(端口标志不起作用,只能在图像参数之前设置)。 - whindes

-3

截至目前,Azure Web Apps for Containers不支持多容器应用(使用docker-compose)。


我不需要一个多容器应用程序,但我想在启动时自动运行其他命令,这可以通过docker-compose实现。主要是启动redis和celery与我的flask应用程序一起使用。例如 - Jacob Weimer
在此补充一下...我正在使用的应用程序是基于这个Image构建的。我可以使用supervisor.conf文件启动更多进程供我的应用程序使用。我将尝试使用redis和rq来实现这一点。 - Jacob Weimer
你不能在Azure Web Apps中运行Redis容器。负载均衡器只允许入站端口80和443。 - sabbour
他并没有要求运行多容器应用程序。 - Jim Aho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接