1、docker介紹
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
2、docker的使用
docker主要是應用在集成環境的開發,例如後端php開發,可以集成php、nginx、mysql、redis等,docker可以選用contos X 、ubutun等操作系統,個人習慣於ubutun 14.0.4 系統較穩定。docker搭建的環境可以實現遠程複製,對於開發者來說,是極其方便的,可以保證開發、測試、線上的環境一致。同時docker各環境之間是互不影響的,可以實現獨立開發、運行。
3、docker的優劣勢
簡單來說docker就是一個虛擬機,跟VMWare一樣搭建虛擬環境
特性 docker 虛擬機
啓動速度 秒級 分鐘級
性能 接近原生 較弱
內存代價 很小 較多
硬盤使用 一般爲MB 一般爲GB
運行密度 單機支持上千個容器 一般幾十個
隔離性 安全隔離 完全隔離
遷移性 優秀 一般
4、docker內部構造
Docker 鏡像 - Docker images
Docker 倉庫 - Docker registeries
Docker 容器 - Docker containers
1.Docker 鏡像
Docker 鏡像是 Docker 容器運行時的只讀模板,每一個鏡像由一系列的層 (layers) 組成。Docker 使用 UnionFS 來將這些層聯合到單獨的鏡像中。UnionFS 允許獨立文件系統中的文件和文件夾(稱之爲分支)被透明覆蓋,形成一個單獨連貫的文件系統。正因爲有了這些層的存在,Docker 是如此的輕量。當你改變了一個 Docker 鏡像,比如升級到某個程序到新的版本,一個新的層會被創建。因此,不用替換整個原先的鏡像或者重新建立(在使用虛擬機的時候你可能會這麼做),只是一個新 的層被添加或升級了。現在你不用重新發布整個鏡像,只需要升級,層使得分發 Docker 鏡像變得簡單和快速。
2.Docker 倉庫
Docker 倉庫用來保存鏡像,可以理解爲代碼控制中的代碼倉庫。同樣的,Docker 倉庫也有公有和私有的概念。公有的 Docker 倉庫名字是 Docker Hub。Docker Hub 提供了龐大的鏡像集合供使用。這些鏡像可以是自己創建,或者在別人的鏡像基礎上創建。Docker 倉庫是 Docker 的分發部分。
3.Docker 容器