docker--仅当退出代码为零时为rm

docker--仅当退出代码为零时为rm,docker,Docker,是否有方法告诉docker run删除容器的文件系统(--rm),但前提是容器的退出代码为0?我喜欢保留意外出口以便稍后调试的想法,但我的绝大多数容器都会成功运行(我有许多容器),因此我希望避免保留容器的文件系统 编辑:澄清 用户可以将--rm标志直接提供给docker run,以便在退出容器时删除文件系统。稍后您可以手动删除它,但在我的例子中,我将使用unix的at命令安排大量容器运行。我希望每个容器都能处理删除自己的文件系统的操作,这样就可以在命令中添加--rm标志。但是,如果容器退出时带有

是否有方法告诉docker run删除容器的文件系统(
--rm
),但前提是容器的退出代码为0?我喜欢保留意外出口以便稍后调试的想法,但我的绝大多数容器都会成功运行(我有许多容器),因此我希望避免保留容器的文件系统

编辑:澄清
用户可以将
--rm
标志直接提供给
docker run
,以便在退出容器时删除文件系统。稍后您可以手动删除它,但在我的例子中,我将使用unix的
at
命令安排大量容器运行。我希望每个容器都能处理删除自己的文件系统的操作,这样就可以在命令中添加
--rm
标志。但是,如果容器退出时带有非零退出代码,我希望保留文件系统,以便以后进行调试。所以我的问题是这是否可行。

我没有完全理解你的问题。如果要删除非活动容器,可以运行以下命令:

docker rm $(docker ps -a -q)

我认为Docker不支持条件RM。
不过,您可以在事后清理成功的容器。

澄清了问题。听起来像是功能请求,或者可能是提交给docker的请求。Moby是他们的上游开源项目,你可以参与其中。似乎有人建议你可以使用
docker rm
手工完成,而你不喜欢这个想法。但是,您可以使用指定的逻辑在Cron计划中获得一个容器来执行此操作,因此它是自动的。退出代码保存在
docker inspect
数据中。这是一个公平的选择。但问题不是,这是否可能(当然可能),而是在docker容器启动时是否可以直接指定这一点。现在很明显,此功能不可用。