Why are -d
and --rm
Docker 中的争论有冲突吗?
$ docker run -d --rm image
Conflicting options: --rm and -d
我有许多运行单元/功能/集成测试的容器。 Docker 容器启动、运行测试,然后停止。我将它们分开运行,因为我只关心结果,但我也希望在容器退出后删除容器。这样做的好方法是什么?
目前(Docker v1.1.1)不支持此功能。
该开发商的--rm
特征解释了他的原因PR #1589 https://github.com/dotcloud/docker/pull/1589:
目前仅在未提供 -d 时才支持。自动删除通过 docker run -d 创建的容器是没有意义的。以这种方式实现的原因有两个:1)我们可能希望在删除容器之前检索某种退出状态或日志2)在当前架构中使其在服务器端运行很困难。
好消息是已经有人开了解决这个问题的问题 https://github.com/dotcloud/docker/issues/6003,所以您可以关注那里的讨论。
此外,解决方法并不太复杂,您可以使用包装器脚本运行容器,如下所示:
ID=$(docker run -d ubuntu sleep 3)
docker wait $ID
docker rm $ID
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)