Skip to content

Docker 命令之 --rm 参数

docker run --rm 是 Docker 中用于自动清理容器的关键参数,适用于短期运行任务。以下是详细说明:

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