Docker入門詳解筆記

2021-09-29 06:33:21 字數 1670 閱讀 3797

docker是乙個開源專案,誕生於 2023年初,最初是dotcloud公司內部的乙個業餘專案。它基於google公司推出的go語言實現。

docker專案的目標是實現輕量級的作業系統虛擬化解決方案。docker的基礎是linux容器(lxc)等技術

在lxc的基礎上docker進行了進一步的封裝,讓使用者不需要去關心容器的管理,使得操作更為簡便。用

戶操作docker的容器就像操作乙個快速輕量級的虛擬機器一樣簡單

容器是在作業系統層面上實現虛擬化,直接復用本地主機的作業系統,而傳統方式則是在硬體層面實現。

首先,docker容器的啟動可以在秒級實現,這相比傳統的虛擬機器方式要快得多。

其次,docker對系統資源的利用率很高,一台主機上可以同時執行數千個docker容器。

容器除了執行其中應用外,基本不消耗額外的系統資源,使得應用的效能很高,同時系統的開銷盡量小。

傳統虛擬機器方式執行10個不同的應用就要起10個虛擬機器,而docker只需要啟動10個隔離的應用即可。

更快速的交付和部署

更高效的虛擬化

更輕鬆的遷移和擴充套件

更簡單的管理特性

容器虛擬機器

啟動秒級

分鐘級硬碟使用

一般為mb

一般為gb

效能接近原生

弱於系統支援量

單機支援上千個容器

一般幾十個

docker映象就是乙個唯讀的模板

例如:乙個映象可以包含乙個完整的ubuntu作業系統環境,裡面僅安裝apache或使用者需要的其它應用程式。

映象可以用來建立docker容器。

docker 利用容器來執行應用。

容器是從映象建立的執行例項。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平台。

可以把容器看做是乙個簡易版的linux環境(包括root使用者許可權、程序空間、使用者空間和網路空間等)和執行在其中的應用程式。

注:映象是唯讀的,容器在啟動的時候建立一層可寫層作為最上層

倉庫是集中存放映象檔案的場所。有時候會把倉庫和倉庫註冊伺服器(registry)混為一談,並不嚴格區分。

實際上,倉庫註冊伺服器上往往存放著多個倉庫,每個倉庫中又包含了多個映象,每個映象有不同的標籤(tag)。

倉庫分為公開倉庫(public)和私有倉庫(private)兩種形式。

國內的公開倉庫包括docker pool等,可以提供大陸使用者更穩定快速的訪問。

當然,使用者也可以在本地網路內建立乙個私有倉庫。

當使用者建立了自己的映象之後就可以使用push命令將它上傳到公有或者私有倉庫,這樣下次在另外一台機器上使用這個映象時候,只需要從倉庫上pull下來就可以了。

注:docker倉庫的概念跟 git 類似,註冊伺服器可以理解為 github 這樣的託管服務。

Docker入門筆記

docker是乙個容器引擎,我們可以把我們的應用和依賴環境 比如配置檔案 庫等 打包到這個容器中。值得注意的是,這個容器是可移植的,我們可以把程式打包,然後發布到另一台機器上。docker採用c s架構,客戶通過api建立docker容器。此圖包含了docker最重要的三個概念 映象 容器 倉庫 來...

Docker入門筆記

docker是乙個開源的引擎,可以輕鬆的為任何應用建立乙個輕量級的 可移植的 自給自足的容器。開發者在筆記本上編譯測試通過的容器可以批量地在生產環境中部署,包括vms 虛擬機器 bare metal openstack集群和其他的基礎應用平台。docker系統有兩個程式 docker服務端和dock...

Docker入門筆記

作用 docker將開發環境和 直接打包,部署時無需關注環境問題。名詞 容器 虛擬機器,相當於物件 映象 容器的源 相當於類 安裝等常用命令 yum install docker systemctl start docker systemctl stop docker systemctl statu...