Docker簡介與安裝(一)
1 簡介
(1)docker是什麼?
Docker 的英文本意是“搬運工”,在程序員的世界裏, Docker 搬運的是集裝箱(Container),docker 是一種用了新穎方式實現的輕量級虛擬機,類似於 VM,但是在原理和應用上和VM 的差別還是很大的.並且 docker 的專業叫法是應用容器(Application Container)。
(2)docker的優勢
•開發者使用一個標準的 image 來構建開發容器,開發完成之後,系統管理員就可以使用這個容器來部署代碼
•docker 可以快速創建容器,快速迭代應用程序,並讓整個過程可見,使團隊中的其他成員更容易理解應用程序是如何創建和工作的。
•docker 容器很輕!很快!容器的啓動時間是次秒級的,節約開發、測試、部署的時間
•docker 容器可以在幾乎所有的環境中運行,物理機、虛擬機、公有云、私有云、個人電腦、服務器等等。
•docker 容器兼容很多平臺,這樣就可以把一個應用程序從一個平臺遷移到另外一個。
•docker 容器不需要 hypervisor ,他是內核級的虛擬化。
•通常只需要小小的改變就可以替代以往巨型和大量的更新工作。
(3)docker與傳統虛擬化方式的不同
①傳統虛擬化是虛擬化硬件,如圖:
②而docker使用docker引擎 ,共享原生系統。如圖:
2 Docker的體系結構
docker 使用 C/S 架構;docker daemon 在後臺運行,作爲 server 端接受client 的請求,並處理(創建、運行、分發容器);docker client以系統命令形式存在接受用戶指令與daemon通信。
(1) docker組件:
Docker 鏡像 - Docker images:
Docker鏡像是Docker容器運行的靜態模板。每個鏡像都包含一系列的層,Docker使用一種叫做聯合文件系統(union filesystems,unionFS)的東西來將這些層組合爲單個鏡像。
Docker 倉庫 - Docker registeries:
倉庫是集中存放鏡像文件的場所。每個 倉庫中又包含了多個鏡像,每個鏡像有不同的標籤(tag)。 最大的公開倉庫是DockerHub ;用戶也可以在本地網絡內創建一個私有倉庫。
Docker 容器 - Docker containers:
docker利用容器來開發、運行應用。容器是鏡像創建的實例。它可以被啓動、開始、停止、刪除。每個容器都是 相互隔離的、保證安全的平臺。
3 Docker底層技術
(1) Namespaces : 隔離各個容器。
① Pid namespace:隔離進程
② Net namespace:隔離網絡
③ Ipc namespace:隔離信號量,內存
④ Mnt namespace:隔離目錄
⑤ Uts namespace :使其在網絡上被視作一個獨立節點
⑥ User namespace:隔離用戶
(2) Controlgroups:實現資源的配額和度量。
二 安裝Docker
Docker官網: https://docs.docker.com
Docker支持centos6 及以上版本。
//作者使用阿里雲的centos7 ;centos6 注意內核是否支持aufs
1 yum 安裝docker:yum –y install docker
2 啓動docker:systemctl start docker
3 查看docker版本:docker version :
4 查看docker信息 :
5 查看docker運行 :