docker 带有Linux容器的Azure应用服务:清除旧部署

bihw5rsg  于 2022-12-29  发布在  Docker
关注(0)|答案(1)|浏览(150)

我已设置Azure Linux应用服务以从Azure容器注册表部署Docker映像。部署通过Azure DevOps完成。
Docker映像部署正常,但随着时间的推移,在进行一些重新部署后,日志流指示设备上没有更多空间,部署似乎失败。在应用服务启动时下载新容器映像后发生此错误。
App Service计划配额显示仍有250 GB剩余,但我不知道容器映像是否存储在实际Web空间中,或者容器映像的下载和提取是否在单独的存储中完成。
我的想法是清除旧的Docker映像。但是,当通过Kudu访问SSH时,Docker命令没有安装,SSH用户没有安装Docker的root权限。
我错过了什么吗?我没有找到关于这个主题的好文档。

wrrgggsh

wrrgggsh1#

如果要从带有Linux容器的Azure应用服务中删除旧映像,可以使用Azure CLI从命令行删除映像。
为此,您可以使用az webapp config container show命令列出应用的自定义图像,使用a z webapp config container delete命令删除特定图像。
例如:

az webapp config container show --name myapp
az webapp config container delete --name myapp --image-name image-name

将"myapp"替换为应用的名称,将"image-name"替换为要删除的图像的名称。
请记住,删除图像将从应用程序中删除图像,但不会从存储图像的容器注册表中删除图像。如果要完全删除图像,还需要从容器注册表中删除图像。
此外,如果您的容器无法以"no space left on device"开始,则您可能需要了解Linux上的App Service使用两种不同类型的存储:

    • 文件系统存储:**文件系统存储包含在App Service计划配额中。将文件保存到根目录为/home目录的持久性存储时使用该存储。
    • 主机磁盘空间:**主机磁盘空间用于存储container映像。由平台通过Docker存储驱动程序进行管理。

有关详细信息,请参阅本文档

相关问题