使用 Windows 个容器的 Azure 应用服务无法启动
Azure App Service using Windows Containers fails to start
我已经为 Windows 容器使用自定义 Docker 图像创建了 Azure 应用服务。该图像在我的 Windows 机器上使用 Docker Desktop 运行完全正常。
但是,Azure 容器不断重启并失败。
来自 Kudo 的 Azure 部署日志:
05/04/2022 18:04:28.774 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Attempting to start container
05/04/2022 18:04:46.474 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Start container succeeded.
05/04/2022 18:04:52.593 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Attempting to stop container: 6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28. Site app-myappdockertest1
05/04/2022 18:04:52.593 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Shutdown container: 6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28
05/04/2022 18:04:52.611 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Attempting to remove container: 6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28
05/04/2022 18:04:52.992 INFO - Site: app-myappdockertest1 - Purging pending logs after stopping container
05/04/2022 18:04:52.992 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Container removed successfully. Container Id: 6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28
05/04/2022 18:04:53.003 INFO - Site: app-myappdockertest1 - Purging after container failed to start
05/04/2022 18:04:53.003 ERROR - Site: app-myappdockertest1 - Unable to start container. Error message: One or more errors occurred.
我找不到关于此错误的任何其他信息。想找到有关该错误的详细信息吗?
图像基于mcr.microsoft.com/dotnet/framework/wcf
的最新版本。它包含一个托管在 IIS
中的 .NET WCF 服务
查看 AjayKumar-MSFT 提供的信息后问题的解决方案:
主要问题是我使用的父图像不受支持。当前版本的图像“mcr.microsoft.com/dotnet/framework/wcf”基于“Windows Server Core 2022”,而 Microsofts supported images 需要“Windows Server Core 2019”作为2022 年 4 月。
我已将 Docker 文件更改为
FROM mcr.microsoft.com/dotnet/framework/wcf:4.8-windowsservercore-ltsc2019
并且能够解决问题。容器启动时没有任何错误消息。
但是 AjayKumar-MSFT 关于内存使用的提示也很有帮助,因为我在应用程序启动后遇到了 OutOfMemoryExceptions。
至于支持的父图像,请查看 supported list。
--您总是可以获取有关错误的更多详细信息,查看日志:
导航到 https://.scm.azurewebsites.net/DebugConsole 并单击 LogFiles 文件夹以查看各个日志文件。
--直接导航至 https://.scm.azurewebsites.net/api/logs/docker 以查看 Docker 日志的元数据。
--您可以使用文档中列出的父图像进行测试。
此外,
默认情况下,如果您的容器在 230 秒后没有响应,它将超时。 (此超时可以通过 WEBSITES_CONTAINER_START_TIME_LIMIT 应用程序设置增加。)并增加到 1800
我已经为 Windows 容器使用自定义 Docker 图像创建了 Azure 应用服务。该图像在我的 Windows 机器上使用 Docker Desktop 运行完全正常。 但是,Azure 容器不断重启并失败。
来自 Kudo 的 Azure 部署日志:
05/04/2022 18:04:28.774 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Attempting to start container
05/04/2022 18:04:46.474 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Start container succeeded.
05/04/2022 18:04:52.593 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Attempting to stop container: 6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28. Site app-myappdockertest1
05/04/2022 18:04:52.593 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Shutdown container: 6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28
05/04/2022 18:04:52.611 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Attempting to remove container: 6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28
05/04/2022 18:04:52.992 INFO - Site: app-myappdockertest1 - Purging pending logs after stopping container
05/04/2022 18:04:52.992 INFO - Site: app-myappdockertest1 - [6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28] - Container removed successfully. Container Id: 6a0179c8984360af8ceecd4730b66112335c73c54aa0ead74a2651f9f0abcc28
05/04/2022 18:04:53.003 INFO - Site: app-myappdockertest1 - Purging after container failed to start
05/04/2022 18:04:53.003 ERROR - Site: app-myappdockertest1 - Unable to start container. Error message: One or more errors occurred.
我找不到关于此错误的任何其他信息。想找到有关该错误的详细信息吗?
图像基于mcr.microsoft.com/dotnet/framework/wcf
的最新版本。它包含一个托管在 IIS
查看 AjayKumar-MSFT 提供的信息后问题的解决方案:
主要问题是我使用的父图像不受支持。当前版本的图像“mcr.microsoft.com/dotnet/framework/wcf”基于“Windows Server Core 2022”,而 Microsofts supported images 需要“Windows Server Core 2019”作为2022 年 4 月。
我已将 Docker 文件更改为
FROM mcr.microsoft.com/dotnet/framework/wcf:4.8-windowsservercore-ltsc2019
并且能够解决问题。容器启动时没有任何错误消息。
但是 AjayKumar-MSFT 关于内存使用的提示也很有帮助,因为我在应用程序启动后遇到了 OutOfMemoryExceptions。
至于支持的父图像,请查看 supported list。
--您总是可以获取有关错误的更多详细信息,查看日志: 导航到 https://.scm.azurewebsites.net/DebugConsole 并单击 LogFiles 文件夹以查看各个日志文件。
--直接导航至 https://.scm.azurewebsites.net/api/logs/docker 以查看 Docker 日志的元数据。
--您可以使用文档中列出的父图像进行测试。
此外,
默认情况下,如果您的容器在 230 秒后没有响应,它将超时。 (此超时可以通过 WEBSITES_CONTAINER_START_TIME_LIMIT 应用程序设置增加。)并增加到 1800