首頁  >  文章  >  運維  >  docker守護程式如何退出

docker守護程式如何退出

PHPz
PHPz原創
2023-04-18 09:05:031404瀏覽

Docker守護程式是負責執行、管理Docker容器的核心元件。然而,有時候可能需要退出Docker守護進程,例如在系統重新啟動後重新啟動時等。本文將介紹Docker守護程序退出的方法。

一、docker守護程式退出的方式

在Docker守護程式啟動時,可以透過參數指定守護程式退出的方式。以下是常用的退出方式:

  1. SIGTERM:發送SIGTERM訊號能讓Docker守護程式優雅地退出,停止正在執行中的容器,並保存容器和映像的狀態和資料。使用該方式退出Docker守護程序可以保證資料的完整性。
  2. SIGINT:發送SIGINT訊號能讓Docker守護程式優雅地退出,但如果有正在運作中的容器,它們可能會被強制停止,資料可能會遺失。
  3. SIGKILL:發送SIGKILL訊號能強制Docker守護程式退出,會停止所有正在運作中的容器,而且不會保存容器和映像的狀態和資料。使用該方式退出Docker守護程序可能會導致資料遺失。

二、退出Docker守護程式的實作

退出Docker守護程式有以下兩種方式:

  1. 使用docker指令

使用docker指令可以退出Docker守護程式。首先需要檢視Docker守護程式的進程號,然後使用kill指令發送訊號退出Docker守護進程,如下所示:

# 查看Docker守护进程的进程号
$ ps aux | grep dockerd
root      1139  0.0  0.2 139168 41496 ?        Ssl  11:21   0:00 dockerd -H unix:///var/run/docker.sock

# 发送SIGTERM信号退出Docker守护进程
$ kill -s SIGTERM 1139
  1. 修改Docker守護程式啟動參數

當Docker守護程序啟動時,可以透過參數指定退出方式。如果沒有指定退出方式,預設使用SIGTERM。可以透過修改啟動參數的方式來改變退出方式,如下所示:

  1. 編輯Docker守護程式的服務檔案
$ sudo vim /usr/lib/systemd/system/docker.service
  1. 在Service節中新增ExecStop行
[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/dockerd --shutdown-timeout 30 # 添加此行
KillMode=process
  1. 重啟Docker守護程式
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service

三、總結

Docker守護程式是Docker的核心元件之一,退出Docker守護程式可以使用docker指令或修改Docker守護程式啟動參數的方式。退出Docker守護程式時需要注意選擇適當的退出方式,以確保資料的完整性。

以上是docker守護程式如何退出的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn