栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

杀死正在运行的Docker容器后进行清理

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

杀死正在运行的Docker容器后进行清理

我担心的是容器遇到错误并退出(或由用户退出)的情况​​,然后容器创建了一堆必须手动清理的垃圾文件。

请注意,您可以将ENTRYPOINT Python脚本配置为自动执行必要的清除。

为您提供有关该方法的一些指导原则/示例:

  • trap
    在这个SO答案中给出了一个这样的示例(在Bash中实现,即带有)。
  • 这篇博客文章中给出了另一个可能的示例(用Python实现)。

请注意,除了可以正常终止容器之外,您可能还需要设置

restart
策略,例如
always
unless-stopped
。例如,请参阅此preship博客文章。

第一个解决方案是将快速驱动器(如SSD)直接安装到容器中并对其进行写入。完成后,它将数据从此SSD传输到外部存储驱动器。这件事的坏处是,如果容器意外退出,它将在SSD上留下垃圾。

第二种解决方案是使用SSD创建一个卷,使用该卷启动一个容器,然后几乎与第一种解决方案相同。在这种情况下,如果容器意外死亡,那么体积将如何变化?它也会自动退出吗?

尽管您提出的两个解决方案对于解决该线程的主要问题不是必需的,但我不得不提到,通常,在生产中 使用卷 而不是仅使用 bind-mount
是一种 最佳实践 。但是,当然,使用这两个方法(

-v volume-name:/path
或绑定安装方法
-v/path:/path
)中的任何一个都比根本不使用该
-v
选项要好,因为我记得直接在容器的可写层中写入数据意味着如果容器将丢失这些数据从图像重新创建。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/388130.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号