開篇
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 程序在 ...