首页/云/Docker 容器速查/docker run --name 与 --rm
基础命令50 条

docker run --name 与 --rm

--name 给容器取稳定可读的名字便于后续操作,--rm 让一次性容器退出后自动删除,避免留下大量已停止对象。

Docker 容器速查云更新于 2026-10-13

命名与自动清理

两个参数解决日常使用的两个痛点:给容器取一个稳定可读的名字,后续操作不必再记随机的标识;让一次性容器退出后自动删除,避免机器上堆满已经停止的实例。名字是全局资源,自动清理则与自动重启相互冲突。

基本信息

命名参数给容器指定名称,便于后续按名字操作
清理参数容器退出后自动删除,包括元数据与可写层
名称规则同一个引擎内全局唯一,已停止的容器同样占着名字
冲突处理名称被占用时需要先删除旧容器才能复用
不指定时由引擎生成随机名称,可读性差但不易冲突

典型使用场景

  • 生产部署固定命名:按服务与角色命名,脚本与监控都能稳定引用
  • 调试容器随用随删:加自动清理避免留下大量停止实例
  • 批量临时任务:每个任务用不同名字,跑完自动清理
  • 灰度发布:旧版本容器保持名字不变,新版本用另一个名字起好后再切换
  • 重复执行脚本:脚本里先清理同名容器再启动,保证幂等

常用示例

常用示例
docker run -d --name api-prod app/api:v1.2            # 固定命名
docker rm -f api-prod 2>/dev/null || true             # 脚本里先清理同名容器
docker run -d --name api-prod app/api:v1.3            # 再用同名启动新版本
docker run --rm -it alpine:3.20 sh                    # 退出即删的调试容器
docker ps -a --filter name=api-prod                   # 确认名称占用情况

三个参数能否同用

组合是否可行说明
命名加后台运行可行最常用的部署组合
命名加自动清理可行一次性容器用固定名字,退出后名字也一起释放
自动清理加重启策略不可行直接报冲突参数错误
后台运行加重启策略可行常驻服务的推荐组合
自动清理加交互调试可行调试容器退出后现场一并消失,排障时慎用

命名建议

  • 用服务名加角色或环境的组合,避免纯数字与随机串
  • 名字里不放特殊字符,减少脚本与编排里的转义问题
  • 同一台机器上多个实例用序号区分,便于批量操作
  • 命名规则写进部署文档,交接时不必逐个查看容器内容
  • 名字变更要同步更新脚本与监控,否则旧引用会报找不到对象
同名容器还在时(哪怕已经停止)必须删除后才能复用名字。脚本里的常见写法是先尝试删除再启动,配合忽略错误保证重复执行不会中断。
自动清理会带走容器的日志与退出状态。事故排查期间宁可先不加这个参数,保住现场比省一点清理工作重要得多。

易错点

  • 自动清理与重启策略同时使用直接报错,脚本中途失败留下半套环境
  • 调试容器加了自动清理,出问题时日志与退出码都没了,只能重放一次
  • 脚本里没有先清理同名容器,重复执行时报名称冲突
  • 命名没有规范,机器上出现大量随机名字的容器,清理时不敢动手

数据来源与参考

  • Docker 官方 CLI 参考:docker run(docs.docker.com)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌