【Docker系列】docker-compose down 命令详解

举报
kwan的解忧杂货铺 发表于 2024/10/16 21:40:07 2024/10/16
【摘要】 使用 docker-compose down 命令可以停止并删除由 docker-compose up 启动的容器、网络、卷和图像,具体行为取决于命令的参数。以下是 docker-compose down 的使用说明及注意事项: 一. 基本使用docker-compose down作用:停止正在运行的容器,并删除容器、默认网络和为服务创建的镜像(如果有)。注意:默认不会删除数据卷,因此卷中保...

使用 docker-compose down 命令可以停止并删除由 docker-compose up 启动的容器、网络、卷和图像,具体行为取决于命令的参数。以下是 docker-compose down 的使用说明及注意事项:
在这里插入图片描述

一. 基本使用

docker-compose down
  • 作用:停止正在运行的容器,并删除容器、默认网络和为服务创建的镜像(如果有)。
  • 注意:默认不会删除数据卷,因此卷中保存的数据不会丢失。

二. 使用参数

docker-compose down 提供了一些参数,更加灵活地控制容器、网络、卷和镜像的处理方式。

2.1 删除数据卷

如果想同时删除与容器关联的 数据卷,可以加上 -v 参数:

docker-compose down -v
  • 作用:不仅删除容器,还会删除与容器关联的匿名卷或未指定的命名卷。
  • 注意:如果删除卷,数据将无法恢复。因此在生产环境中使用时要小心,避免意外丢失重要数据。

2.2 删除镜像

要删除为服务构建的镜像,可以使用 --rmi 参数:

docker-compose down --rmi all
  • --rmi all:删除所有与服务关联的镜像(包括通过 docker-compose.yml 文件中 build 选项构建的镜像)。
  • --rmi local:仅删除本地构建的镜像,不会删除从镜像仓库拉取的镜像。

2.3 删除网络

如果使用自定义网络并希望删除它,可以在执行 docker-compose down 后,网络也会自动删除。但如果想保留网络,可以使用 docker network ls 查看并手动管理网络资源。
在这里插入图片描述

三. 使用场景与注意事项

  • 开发环境:通常在开发环境中,使用 docker-compose down 来完全关闭并重置运行的容器和服务配置。建议不要删除卷,以保留容器中存储的数据。

  • 生产环境:在生产环境中使用时要格外小心,尤其是删除数据卷时,可能会导致数据丢失。确保在生产环境下已经备份了所有重要数据。

  • 卷的持久化:如需保留容器中的数据,建议使用命名卷。在 docker-compose.yml 中使用 volumes 配置,确保卷中的数据可以在 down 后保留。

    services:
      app:
        volumes:
          - my_app_data:/data
    volumes:
      my_app_data:
    

四. 与 docker-compose stop 的区别

  • docker-compose stop:仅停止容器,但不删除容器、网络、卷或镜像。
  • docker-compose down:停止并删除容器、网络和可选的卷和镜像。

总结

  • docker-compose down 是用来完全停止和清理 docker-compose 创建的环境的工具,通常用于开发、测试阶段。
  • 小心使用删除卷和镜像的选项,尤其在生产环境中,确保数据安全。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。