Docker Compose 简化了多容器应用程序的管理。但是,它的命令——stop
、down
、up
和start
——可能会令人困惑。本指南阐明了它们之间的区别,以改进您的 Docker Compose 工作流程。
目录
理解 docker compose stop
和 docker compose down
这两个命令都会停止应用程序的容器,但它们的影响大相径庭:
特性 | docker compose stop |
docker compose down |
---|---|---|
操作 | 优雅地停止正在运行的容器。 | 停止容器,然后移除容器、网络和卷。 |
容器 | 容器保留;可以重新启动。 | 容器被移除。 |
网络 | 网络被保留。 | 网络被移除。 |
卷 | 卷被保留。 | 卷被移除(除非使用-v 标志)。 |
数据持久性 | 卷中的数据被保留。 | 卷中的数据丢失,除非使用-v 保留。 |
重启 | 使用docker compose start 重新启动。 |
需要docker compose up 重新启动。 |
使用场景 | 临时停止;快速重启。 | 干净地关闭并完全移除应用程序。 |
本质上:docker compose stop
暂停您的应用程序,而docker compose down
卸载它。使用stop
进行临时中断,使用down
进行干净启动。始终考虑使用down
时的-v
标志来保留宝贵的数据。
比较 docker compose start
和 docker compose up
这两个命令都会使您的应用程序上线,但它们的行为取决于应用程序之前的状态:
特性 | docker compose start |
docker compose up |
---|---|---|
操作 | 启动先前停止的容器。 | 创建、启动和管理容器和网络。 |
容器 | 仅启动现有的已停止容器。 | 如果容器不存在则创建容器;启动现有容器。 |
网络 | 使用现有网络。 | 如果网络不存在则创建网络;使用现有网络。 |
卷 | 使用现有卷。 | 如果卷不存在则创建卷;使用现有卷。 |
先决条件 | 需要预先存在的容器(来自之前的docker compose up 或手动创建)。 |
不需要之前的容器存在。 |
使用场景 | 重启已停止的应用程序。 | 初始设置以及docker compose down 之后的后续启动。 |
docker compose start
重新启动已停止的容器,而docker compose up
是全面的,处理创建和启动。在stop
之后使用start
,在初始设置或down
之后的全新启动使用up
。使用up
时的-d
标志将以分离模式(后台)运行容器。
掌握这些命令可以确保有效利用资源和数据保存。始终参考官方 Docker Compose 文档以获取最新信息和高级选项。