docker rename 是什么
rename 给已存在的容器改名:只更新运行时记录的名字,不重建容器、不重启进程,改完立刻生效。名字在容器世界里不只是标识——它是 DNS 记录、脚本变量、监控对象与排障入口,很多自动化都按名字匹配。因此改名的真正工作量不在命令本身,而在把所有按旧名配置的地方同步过来,否则会出现“容器还在跑,但备份和监控悄悄停了”的情况。
基本信息
| 语法 | docker rename 旧名 新名 |
|---|---|
| 适用平台 | Docker 与兼容的容器运行时,Linux 与 Windows 容器均支持 |
| 约束 | 容器名必须唯一,运行中也能改名,不需要停止容器 |
| 容器内主机名 | 不会跟着变,仍是启动时确定的值 |
| 网络别名 | 不会自动更新,需要重新挂接别名或改 DNS 记录 |
| 触发重建的情况 | Compose 管理的容器在下次 up 时按定义重建,名字会回到编排文件里的值 |
典型使用场景
- 命名不规范的事后纠正:把临时名改成符合团队规范的名称
- 批量容器按序号整理,便于排序与批量操作
- 把带临时后缀的容器提升为正式名,避免脚本误判
- 迁移命名约定时先改名并观察一段时间,再决定是否重建容器
- 排障时把问题容器改成易识别的名字,方便在监控里定位
使用示例
使用示例
docker rename web-old web-new # 改名,容器不受影响
docker ps --format '{{.Names}}\t{{.Status}}' # 复核新名字与运行状态
docker exec web-new hostname # 确认容器内主机名没有跟着变
docker network connect --alias web-new mynet web-new # 需要别名时重新挂接
docker inspect --format '{{.Name}}' web-new # 看运行时记录的名字
docker inspect --format '{{json .NetworkSettings.Networks}}' web-new # 核对别名改名影响面
| 对象 | 是否自动跟着改 | 说明 |
|---|---|---|
| 容器名 | 是 | 命令执行的直接结果 |
| 容器内主机名 | 否 | 需重建容器或启动时指定主机名 |
| 网络别名 | 否 | 用 network connect --alias 重新挂接 |
| 脚本与监控配置 | 否 | 按名字匹配的自动化需要同步更新 |
名字即接口:备份、巡检、监控常按容器名匹配,改名后要抽查这些任务是否仍在正常执行。
由编排工具管理的容器不建议手工改名:下次重建会按定义恢复原名字,短暂不一致反而让排障更乱。