首页/云/Docker 容器速查/docker compose run 一次性任务
Compose 编排55 条

docker compose run 一次性任务

为服务启动一次性容器跑指定命令(如数据库迁移、初始化脚本):默认不发布服务端口,可用 --rm 用完即删。

Docker 容器速查云更新于 2026-10-12
用途一次性执行任务
语法docker compose run [--rm] [--no-deps] 服务 命令
与 exec 区别run 新建容器,exec 在已有容器内执行

示例

示例
docker compose run --rm web python manage.py migrate
docker compose run --rm --no-deps web sh -c 'ls /app'
docker compose run --rm --service-ports web sh
run 默认会先启动依赖服务;--no-deps 跳过依赖,--service-ports 才按 compose 文件发布端口。

易错点

  • 忘记 --rm 会累积一堆 Exited 的一次性容器,定期 docker compose ps -a 清理
  • run 的容器名带 run_ 后缀且不受 up 管理,改配置后要用新 run 而不是复用旧容器

数据来源与参考

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