Docker stop 命令用于停止正在運(yùn)行的容器。其工作流程如下:
- Docker stop 命令會向容器發(fā)送一個TERM信號,通知容器進(jìn)程應(yīng)該開始關(guān)閉并執(zhí)行清理操作。
- 容器進(jìn)程收到TERM信號后,會嘗試完成當(dāng)前任務(wù)并關(guān)閉所有打開的網(wǎng)絡(luò)連接。
- 容器進(jìn)程執(zhí)行完畢后,會向 Docker 發(fā)送一個EOF信號,表示容器已經(jīng)關(guān)閉。
- Docker 收到 EOF 信號后,會停止跟蹤該容器的運(yùn)行狀態(tài),并在稍后的時(shí)間點(diǎn)刪除該容器。
需要注意的是,如果容器進(jìn)程沒有在收到 TERM 信號后及時(shí)關(guān)閉并執(zhí)行清理操作,Docker 會發(fā)送一個SIGKILL信號,強(qiáng)制終止容器進(jìn)程。因此,在使用 Docker stop 命令時(shí),建議等待一段時(shí)間,以便容器進(jìn)程能夠正常關(guān)閉。