【问题标题】:Cleaning up old Docker images on Service Fabric cluster清理 Service Fabric 群集上的旧 Docker 映像
【发布时间】:2019-04-18 01:25:07
【问题描述】:

我有一个带有 5 个 Windows VM 的 Service Fabric 群集。我部署了一个包含大约 10 个不同容器的应用程序。每次部署时,我都会使用内部版本号增加容器的标签。例如:

foo.azurecr.io/api:50
foo.azurecr.io/web:50

我们的构建系统不断构建每个服务,对其进行标记,将其推送到 Azure,递增 ApplicationManifest.xml 文件中的所有图像,然后将应用程序部署到 Azure。我们可能一天会构建几次新版本。

这很好用,但在几周的时间里,每个虚拟机上的磁盘空间都被填满了。这是因为每个 VM 仍然有所有那些旧的 Docker 映像占用磁盘空间。现在看,大约有 50 场旧图像坐在那里。最终,这导致部署失败。

我的问题:是否有清理 Docker 映像的标准方法?现在,我唯一的想法是创建某种 Windows 调度程序任务,该任务每天运行 docker image prune --all 或其他东西。但是,在某些时候,我们希望能够根据需要动态创建新的虚拟机,所以我宁愿每个虚拟机都是“库存”映像。另一种想法是每次都使用相同的标签,例如api:latestweb:latest。但是,我必须想办法让每个 VM 发出 docker pull 命令以获取最新版本的映像。

以前有人解决过这个问题吗?

【问题讨论】:

    标签: azure azure-service-fabric


    【解决方案1】:

    您可以将PruneContainerImages 配置为True。这将使 Service Fabric 运行时能够删除未使用的容器映像。见this guide

    【讨论】:

    猜你喜欢
    • 2018-01-27
    • 2017-08-09
    • 2016-03-25
    • 2016-06-20
    • 2018-07-11
    • 2021-03-08
    • 2020-01-11
    • 2018-10-27
    • 2021-08-22
    相关资源
    最近更新 更多