Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口(相似 iPhone 的 app)。 docker
組成: shell
Docker 服務器守護程序(server daemon),用於管理全部的容器。 centos
Docker 命令行客戶端,用於控制服務器守護程序。 bash
Docker 鏡像:查找和瀏覽 docker 容器鏡像。它也訪問這裏獲得:Docker鏡像 服務器
特性: 網絡
文件系統隔離:每一個進程容器運行在一個徹底獨立的根文件系統裏。 app
資源隔離:系統資源,像CPU和內存等能夠分配到不一樣的容器中,使用cgroup。 測試
網絡隔離:每一個進程容器運行在本身的網絡空間,虛擬接口和IP地址。 spa
日誌記錄:Docker將會收集和記錄每一個進程容器的標準流(stdout/stderr/stdin),用於實時檢索或批量檢索。 命令行
變動管理:容器文件系統的變動能夠提交到新的映像中,並可重複使用以建立更多的容器。無需使用模板或手動配置。
交互式shell:Docker能夠分配一個虛擬終端並關聯到任何容器的標準輸入上,例如運行一個一次性交互shell。
安裝:
$sudo yum install docker-io
啓動:
$sudo service docker start
開機自啓動:
$chkconfig docker on
獲取鏡像:
$sudo docker pull centos:latest
查看鏡像狀態:
$sudo docker images centos
應該輸出:
$ sudo docker images centos REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE centos latest 0b443ba03958 2 hours ago 297.6 MB
簡單運行bash測試:
sudo docker run -i -t centos /bin/bash