一:Docker的原理
容器有效的將單個操作系統管理的資源劃分到孤立的組中,以便更好的在孤立的組之間平衡有沖突的資源使用需求。
與虛擬化相比,這樣既不需要指令級模擬,也不需要即時編譯。容器可以在核心CPU本地運行指令,而不需要任何專門的解釋機制。此外,也避免了準虛擬化(paravirtualization)和系統調用替換中的復雜性。
簡而言之就是,Docker是一個盒子,一個盒子裝一個玩具,無論你丟在哪里,你給他通電(glibc),他就能運行。你的玩具大就用大盒子,小玩具就用小盒子。 兩個應用之間的環境是環境是完全隔離的,建立通信機制來互相調用。容器的創建和停止都十分快速(秒級),容器自身對資源的需求十分有限,遠比虛擬機本身占用的資源少。
二:第一個docker案例
2.1:執行docker run hello-world
2.2:docker run做了什么?
2.3:Docker鏡像命令
docker images 列出本地主機上的鏡像
REPOSITORY:表示鏡像的倉庫源
TAG:鏡像的標簽
注意:同一個倉庫源可以有多個TAG,代表這個倉庫源的不同版本,使用REPOSITORY:TAG來定義不同的鏡像;如果不指定一個鏡像的版本標簽,默認會使用XX:latest鏡像;
IMAGE ID:鏡像的id
CREATED:鏡像創建的時間
VIRTUAL SIZE:鏡像的大小
2.4:docker search [某個鏡像的名字]
2.5:docker pull [某個鏡像的名字]
下載鏡像:docker pull [鏡像的名字]:[TAG]
2.6:docker rmi -f [鏡像的名字]/[鏡像的id]
刪除鏡像:docker rmi -f 19b3f968b60c
2.7:docker rmi -f 鏡像名:TAG 鏡像名:TAG
刪除多個鏡像:docker rmi -f hello-world nginx
2.8:docker rmi -f $(docker images -qa)
刪除所有鏡像