Docker基础教程(186)Docker Compose命令基础之停止服务容器的stop命令:Docker Compose Stop:给你的容器们来一场“优雅下班”的仪式感,拒绝996福报!

Docker Compose Stop命令详解

深度分析Docker Compose命令基础之停止服务容器的stop命令

作为一名在现代软件工程“江湖”中闯荡的开发者,你一定对Docker和Docker Compose这两位“绝代双骄”不陌生。我们习惯了用docker-compose up -d这一声令下,让一个个服务容器如训练有素的士兵般迅速集结、立正上岗(Up and Running)。这感觉,就像是一位运筹帷幄的将军,好不威风!

但当夜幕降临(或者只是你想调试、更新配置时),如何让这支“队伍”暂时休整呢?你可能会下意识地想到docker-compose down。且慢!将军!这相当于不是让士兵们回营休息,而是直接“解散队伍,拆掉营房”(删除容器和网络)!下次“集合”又得从头再来,费时费力。

此时,你就需要一位深谙“管理艺术”的副官——docker-compose stop命令。它不搞“一刀切”,而是倡导“优雅下班”(Graceful Shutdown),给足容器们处理后续工作的时间,保证明天(或下一秒)还能精神饱满地“原地复活”。

一、 “优雅下班” vs. “暴力强拆”:Stop的灵魂所在

要理解stop命令的精髓,我们首先要把它和它的两个“表亲”——downpause——放在一起比较。

  1. docker-compose stop:优雅下班(Graceful Stop)
    • 行为:它向容器内PID为1的主进程发送一个SIGTERM信号。这是一个礼貌的告知:“您该下班了,请保存好工作,关闭文件,然后自行离开。”
    • 过程:进程收到SIGTERM后,会执行预定义好的清理逻辑(cleanup),比如将内存中的数据持久化到磁盘、关闭网络连接等。如果在规定时间(默认10秒)内自己搞定,则安然退出;如果超时了,Compose会失去耐心,发送SIGKILL信号强行终止它。
    • 结果:容器被停止(Stopped),但并未被删除。它的文件系统层、网络连接(仅断开)、以及所有配置都原封不动地保留着。就像电脑进入了休眠模式,随时可以快速唤醒。
  1. docker-compose down:暴力强拆(Teardown)
    • 行为:它默认会先执行stop(发送SIGTERM),但之后还会删除已停止的容器,并移除由up创建的网络。
    • 结果:容器和自定义网络被彻底删除。下次启动需要完全从头开始构建和运行,就像项目竣工后直接把楼拆了,下次得重新打地基。
  1. docker-com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值