Docker 命令之 --rm 参数
docker run --rm 是 Docker 中用于自动清理容器的关键参数,适用于短期运行任务。以下是详细说明:
- 核心作用
- 自动删除容器:容器停止运行后,自动删除容器及其匿名数据卷(anonymous volumes),避免残留无用容器。
- 等价操作:相当于容器退出后手动执行 docker rm -v。
- 适用场景
- 临时任务:适合调试、测试、单次命令执行(如编译、运行脚本)等场景,避免手动清理。
- Foreground 模式:默认前台运行(非 -d 后台模式),容器退出时立即触发清理。
- 使用限制
- 与 -d 冲突:不能与后台模式 (-d) 同时使用,否则 --rm 失效。
- 数据卷处理:
- 匿名卷:自动删除(如 -v /path 未命名卷)。
- 命名卷:保留数据(如 -v my_volume:/path)。
- 生产环境慎用:正式环境需保留数据时,避免使用 --rm。
- 调试辅助:结合 -it 进入交互式终端调试后自动清理。
- 日志与状态:使用 --rm 后,docker ps -a 无法查到已退出的容器。
shell
# 进入容器(格式)
docker run -it --rm <镜像名称>:<镜像版本> /bin/sh