目錄
1. Docker引擎簡介
2. Docker引擎詳解
2.1. Docker daemon
2.2. runc
2.3. containerd
2.4. shim
2.5. 在Linux上的實作
2.6. daemon的作用
首頁 運維 Docker docker引擎是什麼

docker引擎是什麼

Dec 30, 2021 pm 04:42 PM

Docker引擎是用來運作和管理容器的核心軟體,其主要的元件構成有:Docker客戶端(Docker Client)、Docker守護程式(Docker deamon)、containerd和runc。

docker引擎是什麼

本教學操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。

1. Docker引擎簡介

  • Docker引擎是用來運行和管理容器的核心軟體

  • Docker 引擎由許多專用的工具協同工作,從而可以創建和運行容器,例如API、執行驅動、運行時、shim 進程等。

  • Docker引擎主要的元件構成:Docker客戶端(Docker Client), Docker守護程式(Docker deamon),containerd以及runc。

2. Docker引擎詳解

  • Docker首次發佈時,由兩個核心元件構成:LXC和Docker daemon。
  • Docker daemon是單一的二進位文件,包含諸如Docker客戶端,Docker API,容器運行時,鏡像建置等。
  • LXC提供了命名空間和控制群組(CGroup)等基礎工具的操作能力,它們是基於Linux核心的容器虛擬化技術。在 Docker 0.9 版本中,Libcontainer 取代 LXC 成為預設的執行驅動程式。

2.1. Docker daemon

  • #Docker daemon整體性帶來的越來越多的問題:
    • 難於變更
    • 運行越來越慢
    • 這並非生態公司所期望的
  • #daemon使用一種CRUD風格的API,透過gRPC與containerd進行通訊

2.2. runc

  • #runc實質上是一個輕量級的,針對Libcontainer進行了包裝的命令列互動工具。
  • runc作用:建立容器

2.3. containerd

  • 主要功能:容器的生命週期管理–start|stop |pause|rm…

2.4. shim

  • shim是實作無daemon的容器不可或缺的工具,runc每次都建立新容器,都會fork一個新的runc實例,一旦容器建立完畢,對應的runc程序就會退出。
  • 一旦父進程runc退出,相關聯的container-shim進程就會成為容器的父進程
  • shim的部分職責:
    • 保持所有STDIN和STDOUT流是開啟狀態,從而當daemon重啟的時候,容器不會因為管道的關閉而終止。
    • 將容器的退出狀態回饋給daemon。

2.5. 在Linux上的實作

  • dockerd(Docker daemon), docker-containerd(containerd), docker-containerd-shim(shim)和docker-runc(runc)都是由單獨的二進位實作。

2.6. daemon的作用

  • #主要功能:鏡像管理,鏡像構建,REST API, 身份驗證,安全,核心網路以及編排。

推薦學習:《docker影片教學

以上是docker引擎是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何將應用程序部署到Docker群集群集? 如何將應用程序部署到Docker群集群集? Mar 17, 2025 pm 04:20 PM

本文詳細介紹了將應用程序部署到Docker Swarm,涵蓋了過程中的準備,部署步驟和安全措施。

哪些Kubernetes Pod,部署和服務是什麼? 哪些Kubernetes Pod,部署和服務是什麼? Mar 17, 2025 pm 04:25 PM

本文解釋了Kubernetes的吊艙,部署和服務,詳細說明了它們在管理容器化應用程序中的作用。它討論了這些組件如何增強應用程序內的可擴展性,穩定性和通信。(159個字符)

如何在Kubernetes中擴展應用程序? 如何在Kubernetes中擴展應用程序? Mar 17, 2025 pm 04:28 PM

本文使用手動縮放,HPA,VPA和集群Autoscaler討論了Kubernetes中的擴展應用程序,並提供了監視和自動化縮放的最佳實踐和工具。

如何管理Docker群中的服務? 如何管理Docker群中的服務? Mar 17, 2025 pm 04:22 PM

文章討論了Docker Swarm中的管理服務,專注於創建,擴展,監視和更新而無需停機。

如何在Docker群中實現滾動更新? 如何在Docker群中實現滾動更新? Mar 17, 2025 pm 04:23 PM

本文討論了Docker Swarm中實施滾動更新以更新服務而無需停機。它涵蓋更新服務,設置更新參數,監視進度並確保更新。

如何管理Kubernetes的部署? 如何管理Kubernetes的部署? Mar 17, 2025 pm 04:27 PM

本文討論了管理Kubernetes部署,專注於使用各種工具和最佳實踐的創建,更新,擴展,監視和自動化。

如何創建Docker群集? 如何創建Docker群集? Mar 17, 2025 pm 04:19 PM

文章討論了創建和管理Docker群集群,包括設置,擴展服務和安全性最佳實踐。

Docker面試問題:Ace您的DevOps工程採訪 Docker面試問題:Ace您的DevOps工程採訪 Apr 06, 2025 am 12:01 AM

Docker是DevOps工程師必備的技能。 1.Docker是開源的容器化平台,通過將應用程序及其依賴打包到容器中,實現隔離和可移植性。 2.Docker的工作原理包括命名空間、控制組和聯合文件系統。 3.基本用法包括創建、運行和管理容器。 4.高級用法包括使用DockerCompose管理多容器應用。 5.常見錯誤有容器無法啟動、端口映射問題和數據持久化問題,調試技巧包括查看日誌、進入容器和查看詳細信息。 6.性能優化和最佳實踐包括鏡像優化、資源限制、網絡優化和使用Dockerfile的最佳實踐。

See all articles