Docker 是一個開源工具,它可以讓建立和管理 Linux 容器變得簡單。容器就像是輕量級的虛拟機,并且可以以毫秒級的速度來啟動或停止。Docker 幫助系統管理者和程式員在容器中開發應用程式,并且可以擴充到成千上萬的節點。

這是一隻鲸魚,它托着許多集裝箱。我們可以把主控端可當做這隻鲸魚,把互相隔離的容器可看成集裝箱,每個集裝箱中都包含自己的應用程式。
傳統虛拟化技術的體系架構:
Docker技術的體系架構:
容器和 VM(虛拟機)的主要差別是:
容器提供了基于程序的隔離,而虛拟機提供了資源的完全隔離。
虛拟機可能需要一分鐘來啟動,而容器隻需要一秒鐘或更短。
容器使用宿主作業系統的核心,而虛拟機使用獨立的核心。
Docker 平台基本上由三部分組成:
用戶端:使用者使用 Docker 提供的工具(CLI 以及 API 等)來建構,上傳鏡像并釋出指令來建立和啟動容器
Docker 主機:從 Docker registry 上下載下傳鏡像并啟動容器
Docker registry:Docker 鏡像倉庫,用于儲存鏡像,并提供鏡像上傳和下載下傳
後面的文章會具體分析。
一個容器在某個時刻可能處于以下幾種狀态之一:
created:已經被建立 (使用 docker ps -a 指令可以列出)但是還沒有被啟動 (使用 docker ps 指令還無法列出)
running:運作中
paused:容器的程序被暫停了
restarting:容器的程序正在重新開機過程中
exited:上圖中的 stopped 狀态,表示容器之前運作過但是現在處于停止狀态(要差別于 created 狀态,它是指一個新創出的尚未運作過的容器)。可以通過 start 指令使其重新進入 running 狀态
destroyed:容器被删除了,再也不存在了
RedHat/CentOS必須要6.6版本以上,或者7.x才能安裝docker,建議在RedHat/CentOS 7上使用docker,因為RedHat/CentOS 7的核心更新到了kernel 3.10,對lxc容器支援更好。
檢視Linux核心版本(核心版本必須是3.10或者以上):
更新YUM源:
安裝:
檢查版本:
安裝完成後,使用下面的指令來啟動 docker 服務,并将其設定為開機啟動:
下載下傳官方的 CentOS 鏡像:
檢查CentOS 鏡像是否被擷取:
下載下傳完成後,你應該會看到:
如果看到以上輸出,說明你可以使用“docker.io/centos”這個鏡像了,或将其稱為倉庫(Repository),該鏡像有一個名為“latest”的标簽(Tag),此外還有一個名為“3fa822599e10 ”的鏡像 ID(可能您所看到的鏡像 ID 與此處的不一緻,那是正常現象,因為這個數字是随機生成的)。此外,我們可以看到該鏡像隻有 203.5 MB,非常小巧,而不像虛拟機的鏡像檔案那樣龐大。
重命名TAG:
啟動容器:
指令參數說明:
docker run <相關參數> <鏡像 ID> <初始指令>
-i:表示以“互動模式”運作容器
-t:表示容器啟動後會進入其指令行
-v:表示需要将本地哪個目錄挂載到容器中,格式:-v <主控端目錄>:<容器目錄>
更多參數詳解:
我們可以把Docker 的指令大概地分類如下:
docker run 隻在第一次運作時使用,将鏡像放到容器中,以後再次啟動這個容器時,隻需要使用指令docker start 即可。
docker run相當于執行了兩步操作:将鏡像放入容器中(docker create),然後将容器啟動,使之變成運作時容器(docker start)。
而docker start的作用是,重新啟動已存在的鏡像。也就是說,如果使用這個指令,我們必須事先知道這個容器的ID,或者這個容器的名字,我們可以使用docker ps找到這個容器的資訊。
因為容器的ID是随機碼,而容器的名字又是看似無意義的命名,我們可以使用指令:
給這個容器命名。這樣以後,我們再次啟動或停止容器時,就可以直接使用這個名字:
而要顯示出所有容器,包括沒有啟動的,可以使用指令:
更改存儲目錄:
擷取IP:
要擷取所有容器名稱及其IP位址隻需一個指令:
注冊個帳号
<a href="https://dev.aliyun.com/search.html">https://dev.aliyun.com/search.html</a>
阿裡雲會自動為使用者配置設定一個鏡像加速器的位址,登入後進入"管理中心"-->"加速器",裡面有配置設定給你的鏡像加速器的位址以及各個環境的使用說明。
針對Docker用戶端版本大于1.10.0的使用者
您可以通過修改daemon配置檔案/etc/docker/daemon.json來使用加速器:
重新開機Docker Daemon:
作者: 小柒
分享是快樂的,也見證了個人成長曆程,文章大多都是工作經驗總結以及平時學習積累,基于自身認知不足之處在所難免,也請大家指正,共同進步。