Docker rm命令删除容器
2016-08-17 by dongnan
举个栗子
删除容器
# 删除前必须先停止容器
docker stop ddc86cc2ff29
# 单个容器
docker rm ddc86cc2ff29
# 所有容器
docker rm `docker ps -a -q`
# 退出时自动删除容器,适合测试场景。
docker run -ti --rm centos /bin/bash
[root@259a6f93bf3d /]# exit #退出容器
exit
删除数据卷
数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker
不会在容器被删除后自动删除数据卷,
并且也不存在垃圾回收这样的机制来处理没有任何容器引用的数据卷。
如果需要在删除容器的同时移除数据卷,可以在删除容器的时候使用 docker rm -v
这个参数。
当前的容器
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ddc80c332922 registry:2 "/bin/registry serve " 8 minutes ago Up 8 minutes 0.0.0.0:5000->5000/tcp registry2
删除容器与数据卷
# 停止容器
docker stop ddc80c332922
# 删除容器同时删除数据卷
docker rm -v ddc80c332922
帮助
# 执行命令
docker rm --help
Usage: docker rm [OPTIONS] CONTAINER [CONTAINER...]
Remove one or more containers
-f, --force Force the removal of a running container (uses SIGKILL)
--help Print usage
-l, --link Remove the specified link
-v, --volumes Remove the volumes associated with the container
--rm=false Automatically remove the container when it exits
强制删除容器
在某些情况下会发生无法删除容器的问题:
# 停止容器
docker stop 49db5db743f8
# 删除报错
docker rm 49db5db743f8
Error response from daemon: You cannot remove a running container \
49db5db743f8c77fb343a6f622270a311f3e67475bc2dc3eb7c15f496eab4102. \
Stop the container before attempting removal or use -f
强制删除
# 注意数据将被删除
docker rm -f 49db5db743f8
验证容器
# 执行命令
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
容器已经删除。