摘要:總架構圖架構系統使用了的架構,通過請求來管理的鏡像和容器等。架構示意圖專門服務于,其作用是接受并調度分發發送的請求。
架構是一個很大的概念,也絕非一兩篇文章能寫清楚的,這里記錄自己認為重要的部分和相關的學習資料。
Docker 總架構圖
C/S 架構docker 系統使用了 C/S 的架構,docker client 通過 REST API 請求 docker daemon 來管理 docker 的鏡像和容器等。
Server 端駐守在后臺,稱之為 docker daemon
Client 端是一個 CLI 程序,可以在命令行中通過 docker 這個二進制文件進行交互
Docker clientDocker client 是給用戶和 Docker daemon 建立通信的客戶端,安裝了 docker 之后,二進制文件 docker 就是 Docker client,與 Docker daemon 交互,實現對 Docker image 和 container 的管理請求。
Docker client 與 docker daemon 建立請求的方式有三種,分別是:
tcp://host:port
unix://path/to/socket
fd://socketfd
Docker daemonDocker daemon 是一個常駐后臺的系統進程,所謂“運行 docker”,指的就是運行 Docker daemon,其作用主要有以下兩點:
接受并處理 Docker Client 發送的請求
管理所有的 Docker containers 和 Docker images
Docker daemon 的架構大致可以分為三部分:Docker Server、Engine 和 Job。
Docker daemon 架構示意圖
Docker Server 專門服務于 Docker Client,其作用是接受并調度分發 Docker client 發送的請求。
Engine 是 Docker 中的運行引擎, 是其運行的核心模塊。Engine 中存儲著大量的容器信息,也管理著 Docker 大部分 Job 的執行。
Job 是 Docker 中最基本的工作執行單元,Docker daemon 可以完成的每一項工作都能呈現為一個 Job。
Linux 下,使用 dockerd 命令,便可以 daemon 模式操作 docker。
Docker Remote Apidocker daemon 會監聽 unix:///var/run/docker.sock 的 socket,提供一個 RESTful 的 Remote API,可供客戶端訪問,例如:
curl --unix-socket /var/run/docker.sock http:/containers/json?all=1
便可得到所有的容器列表,相當于在 terminal 中執行了 docker ps -a 命令。
注:如果需要自己實現 docker client 的,可訪問 Docker Remote API 參考相關文檔。
docker daemon 監聽來自 remote api 的請求的方式有三種,unix、tcp 和 fd。
默認情況下,監聽的是 unix:///var/run/docker.sock,在 linux 下,想要改變其監聽方式,可以使用 dockerd 命令:
dockerd -H 0.0.0.0:5555
便可將 docker daemon 的監聽方式變為 tcp://host:port 的方式,然后客戶端可以
docker -H :5555 pull ubuntu
來訪問 daemon。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/26694.html
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數據恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
摘要:作為面試官,我是如何甄別應聘者的包裝程度語言和等其他語言的對比分析和主從復制的原理詳解和持久化的原理是什么面試中經常被問到的持久化與恢復實現故障恢復自動化詳解哨兵技術查漏補缺最易錯過的技術要點大掃盲意外宕機不難解決,但你真的懂數據恢復嗎每秒 作為面試官,我是如何甄別應聘者的包裝程度Go語言和Java、python等其他語言的對比分析 Redis和MySQL Redis:主從復制的原理詳...
摘要:此刻的后手指依舊飛速地敲打鍵盤,絲毫沒有要停不下來意思。閱讀本期技術周刊,你不光能弄明白什么是,使用的意義何在,還將被傳授秘籍,以達的境界。周刊篩選的每篇內容,是作者的獨到見解,踩坑總結和經驗分享。 showImg(https://segmentfault.com/img/bVC5qJ?w=900&h=385); 啪嗒啪嗒,啪嗒啪嗒,聽到后排動感十足的清脆鍵盤響,我就能猜到公司程序員定...
摘要:并不是因為它是閃亮的新事物或者它是一些虛構的最佳實踐,而是因為像亞馬遜或者已經在這上面投入了年的心血,他們告訴了我們如何構建真正有規模的系統。截止目前,我們已經部署了由亞馬遜等提供的重量級虛擬化服務器。 周一時候數人云與大家分享了一篇關于Docker的反方言論——《一份Docker的反方辯論——我還是用Heroku好了》,一周之后,同樣的作者,又為Docker正名,寫了一篇正方言論。D...
閱讀 2930·2021-11-23 09:51
閱讀 3103·2021-11-15 11:39
閱讀 2985·2021-11-09 09:47
閱讀 2534·2019-08-30 13:49
閱讀 2117·2019-08-30 13:09
閱讀 3101·2019-08-29 16:10
閱讀 3509·2019-08-26 17:04
閱讀 995·2019-08-26 13:57