–rm:容器退出时自动移除
默认情况下,即使容器退出,容器的文件系统也会持续存在。这种特性可以让我们对意外退出的容器进行调试,查看容器的日志。
我们有时会希望临时运行某个容器,容器退出时自动清理容器并删除容器中的文件系统,那么–rm选项就用上了。请看如下示例。通过docker ps -a命令,显示我们现在没有任何容器。使用命令:
docker run -it --rm boystar/ubantu
我们得以进入ubantu系统,随便输入一些命令如ls后,退出。再来查看容器。发现不存在运行中的容器,也不存在退出状态的容器。说明–rm起作用了。
备注1:–rm等价于–rm=true,也可以设置为false,这样容器退出后,容器被删除,但可以通过docker ps -a找到。如下图所示:
备注2:–rm可以删除匿名数据卷,但不可以删除指定名称的数据卷
使用命令
docker run --rm -it -v /foo -v /data/mydata:/bar boystar/ubantu
进行测试。该命令使用-v指定/foo匿名数据卷和/data/mydata命名数据卷。退出ubantu容器后,可以看到/data/mydata还在,而/foo没了。