Docker命令行與守護進程的交互方法
為了保證可讀性,本文采用意譯而非直譯。另外,本文版權歸原作者所有,翻譯僅用于學習。
Docker并非單體應用,它由多個組件構成。這篇博客將介紹Docker守護進程(daemon)與Docker命令行(CLI)。事實上,當我們在談論安裝或使用Docker時,所指的其實就是Docker守護進程與命令行。
Docker架構圖
解釋一下上圖中的元素:
Docker守護進程(docker daemon)是運行在你的操作系統(tǒng)上的一個服務。目前,它只能運行在Linux上,因為它依賴于一些Linux內(nèi)核特性(比如Cgroup與Namespace)。 但是,也有一些特殊的辦法讓Docker運行在MacOS與Windows上(運行在Linux虛擬機中)。
Docker守護進程提供了REST API。許多工具(Docker命令行,Docker Compose等)都可以通過REST API與Docker守護進程進行交互,例如創(chuàng)建容器,構建鏡像等。
Docker命令行(docker CLI)是與Docker守護進程進行交互的主要工具。
Docker是C/S架構
Docker是Client/Server架構。其中Docker守護進程是服務端,Docker命令行是眾多客戶端之一。事實上,還有很多第三方的Docker客戶端。
對于各種流行的編程語言,它們都有對應的Docker客戶端。感興趣的話,你也可以開發(fā)一個,使用REST API與Docker守護進程進行交互就好了。
通過客戶端,你可以管理Docker的各種元素,包括鏡像、容器、網(wǎng)絡以及數(shù)據(jù)卷。對于Docker感興趣的話,你不妨看看 Dive Into Docker course。
Docker命令行與守護進程如何交互?
從左至右理解上圖:
最左側是Docker客戶端,即Docker命令行。我們可以運行各種Docker命令,比如構建鏡像(docker build),下載鏡像(docker pull),運行容器(docker run)。Docker命令行可以安裝在各種操作系統(tǒng)上,例如Windows,MacOS或者Linux服務器。
中間是Docker主機,Docker守護進程運行在上面。Docker命令行可以輕松地連接遠程的Docker主機(給定IP和端口即可)。而在MacOS與Windows上"運行"Docker時,Docker守護進程事實上運行在Linux虛擬機中。這里關鍵點在于,Docker守護進程和命令行可以運行在不同的主機上。
最右側是Docker倉庫,它也是Docker生態(tài)系統(tǒng)中的一份子。它是我們下載、上傳、存儲以及分享Docker鏡像的地方。Docker倉庫的細節(jié)與本文無關,因此不再贅述。
譯者按: Docker是典型的C/S架構,其守護進程(daemon)與命令行(CLI)是通過REST API進行交互的。
原文: Understanding how the Docker Daemon and Docker CLI Work Together
譯者: Fundebug
相關文章
在 Centos 7.9 中如何安裝與配置 Docker 20.10.
這篇文章主要介紹了在 Centos 7.9 中如何安裝與配置 Docker 20.10.18,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01docker安裝Jenkins配置Gitee SSH密鑰踩坑解決
這篇文章主要為大家介紹了docker安裝Jenkins配置Gitee SSH密鑰踩坑解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08講解使用Docker搭建Java Web運行環(huán)境
本篇文章詳細的介紹了使用Docker搭建Java Web運行環(huán)境,想要學習docker的同學可以了解一下。2016-11-11基于Docker部署GitLab環(huán)境搭建的方法步驟
這篇文章主要介紹了基于Docker部署GitLab環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10Docker?Compose搭建Wordpress服務實現(xiàn)詳解
這篇文章主要為大家介紹了Docker?Compose搭建Wordpress服務實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03