Docker學習筆記 三 docker的機制和原理

2021-10-25 08:35:10 字數 1065 閱讀 2746

在docker客戶端(docker client)中執行docker的各種命令,而這些命令會傳遞給docker的宿主機上執行docker的守護程序。而docker的守護程序負責實現docker的各種功能

docker的守護程序執行在宿主機上,也就是cs架構的server端,守護程序會在啟動後一直在後台執行。負責實現docker的各種功能。而docker使用者並不會直接與守護程序互動,而是要通過docker的客戶端,也就是docker的命令列介面來與docker守護程序進行通訊,也就是在shell中執行的docker的二進位制程式。接收docker的守護程序的執行命令,然後將結果返回給客戶端,顯示在命令列中。

虛擬機器和容器都是在硬體和作業系統以上的,虛擬機器有hypervisor層,hypervisor是整個虛擬機器的核心所在。他為虛擬機器提供了虛擬的執行平台,管理虛擬機器的作業系統執行。每個虛擬機器都有自己的系統和系統庫以及應用

容器沒有hypervisor這一層,並且每個容器是和宿主機共享硬體資源及作業系統,那麼由hypervisor帶來效能的損耗,在linux容器這邊是不存在的。但是虛擬機器技術也有其優勢,能為應用提供乙個更加隔離的環境,不會因為應用程式的漏洞給宿主機造成任何威脅。同時還支援跨作業系統的虛擬化,例如你可以在linux作業系統下執行windows虛擬機器。

從虛擬化層面來看,傳統虛擬化技術是對硬體資源的虛擬,容器技術則是對程序的虛擬,從而可提供更輕量 級的虛擬化,實現程序和資源的隔離。

從架構來看,docker比虛擬化少了兩層,取消了hypervisor層和guestos層,使用 docker engine 進行排程和隔離,所有應用共用主機作業系統,因此在體量上,docker較虛擬機器更輕量級,在效能上優於虛擬化,接近裸機效能。從應用場景來 看,docker和虛擬化則有各自擅長的領域,在軟體開發、測試場景和生產運維場景中各有優劣

docker學習 centos安裝docker

1.更新yum源 yum update2.安裝依賴 3.設定yum源 使用ustc,也可以使用阿里雲的 yum config manager add repo4.安裝docker yum install y docker ce通過docker v檢視,如果檢視到版本號,說明安裝成功 5.設定ustc...

Docker學習筆記 三 安裝Redis

專案中使用到redis,平常都是別人搭建的,今天試著在google cloud platform 上搭建乙個學習環境。2.使用 docker images 檢視是否成功安裝,成功的話會顯示映象列表 3.使用 docker run name container name d image name 命令...

在linux建立docker,執行docker容器

安裝 1.依次執行以下命令新增yum源。yum update yum install epel release y yum clean all yum list2.安裝並執行docker。yum install docker io y systemctl start docker3.檢查安裝結果.d...