docker服務關停的實現步驟
說明:停止 docker 服務之前,先把所有的容器都停掉,如果沒停掉,再重啟 docker 服務之后,所有的容器就會成為 Exited 狀態(tài)。如果你只是想停止 docker 服務,docker 中的容器還繼續(xù)提供服務,需要在docker daemon.json 中配置 “live-restore”:true詳細配置請參考:docker 官方容器配置live-restore
關閉操作
之前一直使用如下命令關閉 docker 服務
# 禁用 docker 開機自啟 systemctl disable docker # 關停 docker 服務 systemctl stop docker
但是今天使用 systemctl stop docker 命令關停的時候,確返回了如下警告:
也就是在停止 docker.service,但是又被 docker.socket 激活啟動起來了。
此時我們就需要理解 docker 各部分之間的關系才能正確的把 docker 服務停止掉。
docker 相關組成理解
我們安裝的 docker 可以分為以下幾個內容:
1.docker 客戶端
文件名 docker, 一般默認安裝在 /usr/bin 目錄下。 比如我們執(zhí)行的 docker ps 調用的就是 docker 客戶端程序。
2.dockerd (docker daemon)服務
文件名 dockerd,一般默認安裝在 /usr/bin 目錄下。 比如我們說的 docker 服務,就是在說的 dockerd 服務。
可以在 /lib/systemd/system 目錄下,看到 docker.service 里面有這么句話
3. docker.socket
文件名 docker.socket, 一般默認安裝在 /var/run 目錄下。用來實現 docker 客戶端和 dockerd 服務 之間的 API 通訊。
該文件 (/var/run/docker.socket) 是一個 linux socket(套接字) 文件,通過 la -al 命令可以看到該文件的標識是 s 。
可以在 /lib/systemd/system 目錄下,看到 docker.socket 里面有這么句話
無法關停的原因分析
如果 docker.socket 服務開啟著,并在 docker 客戶端執(zhí)行 docker ps 指令,那么即使現在 dockerd 沒有運行,docker.socket 也會將它啟動起來。
如果 docker.socket 服務沒有處于運行狀態(tài),那么就會報錯
所以要真正關閉 docker 服務,要執(zhí)行如下 2 個命令
# 關閉 docker.socket 服務 systemctl stop docker.socket # 關閉 docker.service 服務 systemctl stop docker.service
到此這篇關于docker服務關停的實現步驟的文章就介紹到這了,更多相關docker服務關停內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
在Ubuntu上使用Docker部署DeepSeek的詳細步驟
docker是容器化技術的代表,它能夠將應用程序及其依賴項打包成一個獨立的容器,在 DeepSeek 部署中,使用 docker 可以確保 deepseek - r1 在不同環(huán)境中具有一致的運行狀態(tài),本文給大家介紹了在Ubuntu上使用Docker部署DeepSeek的詳細步驟,需要的朋友可以參考下2025-02-02利用 Docker 構建簡單的 java 開發(fā)編譯環(huán)境的方法詳解
這篇文章主要介紹了利用 Docker 構建簡單的 java 開發(fā)編譯環(huán)境的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11Linux系統Docker 部署 ASP.NET Core應用的流程分析
這篇文章主要介紹了Linux系統Docker 部署 ASP.NET Core應用的流程分析,在操作過程中小編遇到很多問題,下面把我的經驗及處理方法分享到腳本之家平臺,需要的朋友參考下吧2021-06-06