Docker架構和底層技術簡介

2021-08-20 23:24:02 字數 973 閱讀 7436

開篇

docker engine包含的東西有:

* 後台程序(dockerd)

* rest api server

* cli 介面(dockerd)

docker的架構是c/s架構,docker的client和server即(dockerd)之間通過rest api server進行通訊。

dockerd主要是維護後台的一些常見概念的操作,例如:image、container的管理,網路以及儲存的管理。

在centos中執行sudo docker version命令,可以看到client 以及 server 的一些資訊:

docker架構總覽

* 左邊client 是我們命令列裡常用的一些命令。

* 中間docker host,是安裝docker之後的機器,只要包括container 和 images。docker host提供的rest api 可以供client去使用。

* 最右邊是docker的registry,是用於儲存docker公共映象的伺服器,類似於github。

docker底層技術支援

docker底層是依賴於linux已經存在很多年的技術支援,比如說:

* namespaces:做隔離pid,net,ipc,mnt,uts

* control grups:做資源限制

* union file systems:container 和 image的分層

Docker技術底層架構剖析

docker 底層技術 docker底層的 2 個核心技術分別是namespaces 和control groups 在作業系統中,網路配置,程序,使用者,ipc 程序之間的呼叫 等資訊之間的操作,都是可以被所有程序檢視到的,除了這些資源資訊,我們還需要隔離程序之間能夠共享的資訊,而namespac...

1 01 容器技術和docker簡介

1.部署演變 operating system作業系統如win10,physical server如機器 部署比較慢,要準備物理伺服器 成本非常高,買物理伺服器 資源浪費,cpu和記憶體根本用不完 很難遷移和擴充套件 可能會被限定硬體廠商,早期不僅僅有x86系統 虛擬化技術 在物理伺服器上,通過hy...

Docker底層架構之命名空間

命名空間是 linux 核心乙個強大的特性。每個容器都有自己單獨的命名空間,執行在其中的 應用都像是在獨立的作業系統中執行一樣。命名空間保證了容器之間彼此互不影響。相應的命名空間功能如下 不同使用者的程序就是通過 pid 命名空間隔離開的,且不同命名空間中可以有相同 pid。所有的 lxc 程序在 ...