Azure Webapps public 的默认图像是什么?
Is the default image for Azure Webapps public?
我想要 运行 Azure Webapps 中的 PHP 应用程序。为此我想使用我自己的容器,因为我对当前的默认设置有一些问题。
代码或 Dockerfile 是否在某处 public,以便可以将其用作基础?
编辑:我也想提交一个潜在的错误,但我也找不到问题跟踪器。
正如 Jason 正确指出的那样,添加一些关于此主题的更多信息以更加清晰:
在Azure App服务中,可以有不同flavor/version的WebApp,如下:
1.代码 + Windows – 您 select 应用程序堆栈并部署您的代码。
2.代码 + Linux (WebApp Linux) - Linux 上的应用程序服务在 [=] 上提供预定义的应用程序堆栈84=],支持 .NET、PHP、Node.js 等语言。这些是受祝福的图像,由平台预定义。您只需在此处部署您的代码。
Docker Container + Linux (WebApp for Container) – 自定义图像(代码已经是图像的一部分,而不是单独部署)- 容器映像在 运行 时间成为容器。
Docker Container + Windows (WebApp for Windows Container) – 自定义镜像 – 容器镜像成为容器在 运行 时间。
是的,您还可以在尚未在 Azure 中定义的应用程序堆栈上使用 自定义 Docker 图像 来 运行 您的 Web 应用程序。
Azure 应用服务在 Windows 上提供预定义的应用程序堆栈,例如在 IIS 上 ASP.NET 或 Node.js、运行ning。
az webapp 配置容器集
您可以 运行 az webapp list-runtimes --linux
查看最新的语言和支持的版本。如果 运行您的应用程序所需的时间在内置映像中不受支持,您可以使用自定义容器进行部署。
请查看这些文档以了解更多详细信息。
https://docs.microsoft.com/azure/app-service/quickstart-custom-container?pivots=container-windows
https://docs.microsoft.com/azure/app-service/quickstart-custom-container?pivots=container-linux
所有应用服务基础镜像都可以在这里找到:
https://github.com/Azure-App-Service/php(你的情况)
-同样你可以找到其他语言-
https://github.com/Azure-App-Service/python
https://github.com/Azure-App-Service/ruby
https://github.com/Azure-App-Service
如果 WebApp 祝福图像有任何变化,您通常可以在此存储库中看到该变化:https://github.com/Azure/app-service-quickstart-docker-images
是的,这是跟踪回购 feedback/suggestions 的好地方:
https://github.com/Azure/app-service-quickstart-docker-images/issues
@AjayKumar-MSFT 的回答与问题完美匹配,我投了赞成票并接受了,但我想分享一些我另外发现的信息。
我开始基于 webdevops 的工作构建自己的容器。我发现它是一个非常好的基础镜像,因为它有一些重要的东西,比如系统日志和 supervisor 预配置,并且很容易扩展。它可以在 php docker repo or on dockerhub 中找到。我使用(并链接)了 apache 变体,但我正在考虑切换到 nginx。文档很准确,但对于像我这样的新手来说相对薄弱,但它确实很好用。
拥有 webssh 的人需要在具有静态凭据的端口 2222 上启用 ssh root:Docker!
。我将此块添加到派生的 Dockerfile 以使用 supervisord 启动 ssh:
# Enable ssh
ENV SSH_PASSWD "root:Docker!"
RUN apt-get update \
&& apt-get install -y --no-install-recommends dialog \
&& apt-get update \
&& apt-get install -y --no-install-recommends openssh-server \
&& echo "$SSH_PASSWD" | chpasswd
COPY docker/sshd_config /etc/ssh/
COPY docker/ssh.conf /opt/docker/etc/supervisor.d/
RUN mkdir -p /var/run/sshd
docker/sshd_config:
Port 2222
ListenAddress 0.0.0.0
LoginGraceTime 180
X11Forwarding yes
Ciphers aes128-cbc,3des-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha1,hmac-sha1-96
StrictModes yes
SyslogFacility DAEMON
PasswordAuthentication yes
PermitEmptyPasswords no
PermitRootLogin yes
docker/ssh.conf:
[program:sshd]
command=/usr/sbin/sshd -D
接下来,我把我的代码放到 /app .
当起点在其他地方时,就像某些框架一样,您可以覆盖环境变量,例如:
ENV WEB_DOCUMENT_ROOT=/app/public
我想要 运行 Azure Webapps 中的 PHP 应用程序。为此我想使用我自己的容器,因为我对当前的默认设置有一些问题。
代码或 Dockerfile 是否在某处 public,以便可以将其用作基础?
编辑:我也想提交一个潜在的错误,但我也找不到问题跟踪器。
正如 Jason 正确指出的那样,添加一些关于此主题的更多信息以更加清晰:
在Azure App服务中,可以有不同flavor/version的WebApp,如下:
1.代码 + Windows – 您 select 应用程序堆栈并部署您的代码。
2.代码 + Linux (WebApp Linux) - Linux 上的应用程序服务在 [=] 上提供预定义的应用程序堆栈84=],支持 .NET、PHP、Node.js 等语言。这些是受祝福的图像,由平台预定义。您只需在此处部署您的代码。
Docker Container + Linux (WebApp for Container) – 自定义图像(代码已经是图像的一部分,而不是单独部署)- 容器映像在 运行 时间成为容器。
Docker Container + Windows (WebApp for Windows Container) – 自定义镜像 – 容器镜像成为容器在 运行 时间。
是的,您还可以在尚未在 Azure 中定义的应用程序堆栈上使用 自定义 Docker 图像 来 运行 您的 Web 应用程序。 Azure 应用服务在 Windows 上提供预定义的应用程序堆栈,例如在 IIS 上 ASP.NET 或 Node.js、运行ning。
az webapp 配置容器集
您可以 运行 az webapp list-runtimes --linux
查看最新的语言和支持的版本。如果 运行您的应用程序所需的时间在内置映像中不受支持,您可以使用自定义容器进行部署。
请查看这些文档以了解更多详细信息。
https://docs.microsoft.com/azure/app-service/quickstart-custom-container?pivots=container-windows https://docs.microsoft.com/azure/app-service/quickstart-custom-container?pivots=container-linux
所有应用服务基础镜像都可以在这里找到:
https://github.com/Azure-App-Service/php(你的情况)
-同样你可以找到其他语言-
https://github.com/Azure-App-Service/python
https://github.com/Azure-App-Service/ruby
https://github.com/Azure-App-Service
如果 WebApp 祝福图像有任何变化,您通常可以在此存储库中看到该变化:https://github.com/Azure/app-service-quickstart-docker-images
是的,这是跟踪回购 feedback/suggestions 的好地方: https://github.com/Azure/app-service-quickstart-docker-images/issues
@AjayKumar-MSFT 的回答与问题完美匹配,我投了赞成票并接受了,但我想分享一些我另外发现的信息。
我开始基于 webdevops 的工作构建自己的容器。我发现它是一个非常好的基础镜像,因为它有一些重要的东西,比如系统日志和 supervisor 预配置,并且很容易扩展。它可以在 php docker repo or on dockerhub 中找到。我使用(并链接)了 apache 变体,但我正在考虑切换到 nginx。文档很准确,但对于像我这样的新手来说相对薄弱,但它确实很好用。
拥有 webssh 的人需要在具有静态凭据的端口 2222 上启用 ssh root:Docker!
。我将此块添加到派生的 Dockerfile 以使用 supervisord 启动 ssh:
# Enable ssh
ENV SSH_PASSWD "root:Docker!"
RUN apt-get update \
&& apt-get install -y --no-install-recommends dialog \
&& apt-get update \
&& apt-get install -y --no-install-recommends openssh-server \
&& echo "$SSH_PASSWD" | chpasswd
COPY docker/sshd_config /etc/ssh/
COPY docker/ssh.conf /opt/docker/etc/supervisor.d/
RUN mkdir -p /var/run/sshd
docker/sshd_config:
Port 2222
ListenAddress 0.0.0.0
LoginGraceTime 180
X11Forwarding yes
Ciphers aes128-cbc,3des-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr
MACs hmac-sha1,hmac-sha1-96
StrictModes yes
SyslogFacility DAEMON
PasswordAuthentication yes
PermitEmptyPasswords no
PermitRootLogin yes
docker/ssh.conf:
[program:sshd]
command=/usr/sbin/sshd -D
接下来,我把我的代码放到 /app .
当起点在其他地方时,就像某些框架一样,您可以覆盖环境变量,例如:
ENV WEB_DOCUMENT_ROOT=/app/public