《認識Docker》sql
不按期更新~~~~~~~docker
歷史區別:shell
13年以前:網絡大多使用"協議棧堆疊"的形式進行開發,須要部署單一專有的服務器進行操做。包括(中間件,運行時環境,操做系統,硬件環境,單一專有的服務器)。ubuntu
如今:使用拆分模塊的方式,將須要運用的模塊進行組合,而後運行在(公共雲,我的電腦,測試服務器等),達到跨平臺輕鬆遷移數據的目的。安全
*作到如今這樣的功能的是「容器」:服務器
*容器:輕量級虛擬技術,是基於操做系統的虛擬技術(Docker、Solaris Zones、BSD jails、Open VZ、LXC),表明着操做系統和用戶空間低層進行資源共享,共用一個系統內核,而且能夠在主機間遷移,具有root權限,可運程,可備份,回滾的一種虛擬技術。網絡
*優勢:效率更高,資源佔用更小,管理更加便捷(同一系列操做系統中)。架構
*缺點:靈活性,安全性,配置共享方面有所欠缺。框架
*Docker能夠當作將數據,操做等進行「分門別類」而後經過容器引擎(盒子)進行傳輸到我的電腦,公共雲等設備上。工具
*容器&虛擬機區別:
*Docker組件(核心):鏡像、容器、庫。
*採用C/S架構:客戶端(執行程序)→經過命令行和API形式和守候程序(提供Docker服務)進行通信。
*鏡像:一個只讀的靜態模板(框架體系);包含環境和應用執行代碼(框架語言);採用分層機制。將新增數據經過聯合文件系統附加在原基礎上。
*容器:一個運行時環境,是鏡像的運行狀態,是鏡像執行的一種動態表現。
*庫:使用註冊服務器(共有的or私有的)存儲和共享用戶的鏡像,是某個特定用戶存儲鏡像的目錄。
*Docker特性:
*隔離性:libcontainer(默認容器)=>內核命名空間。
*安全性:內部(cgroups)| 容器和宿主主機(內核能力機制)。
*可度量性:cgroups(控制組)→資源度量和分配(用戶)。
*移植性:AUFS(快速更新)→層的概念。
-----使用AUFS做爲Docker容器的文件系統,提供的好處:
*Docker優勢(比較LXC):
*跨平臺可移植性:按統一標準打包(鏡像中),可傳播。
*面向應用:優化部署應用(設計哲學)→API,接口及文檔(體現)。
*版本控制:追蹤、查詢、記錄版本信息(應用程序更改史)和回滾版本等
*組件複用:組件式搭建(基礎鏡像)→Python(運行環境) | postgreasql(基礎鏡像)。
*共享性:公共的註冊服務器(可免費下載源碼)。
安裝注意:
(一)Ubuntu下的安裝
Docker支持如下版本的Ubuntu系統: Ubuntu Trusty 14.04、 Ubuntu Precise 12.04、 Ubuntu Raring
13.04 和 Saucy 13.10。這裏以Ubuntu Trusty 14.04(LTS)(64位)爲例進行介紹。
Ubuntu Trusty的內核是3.13.0,在這個系統下安裝時默認的Docker安裝包是0.9.1。
首先,運行如下命令進行安裝:
$ sudo apt-get update
$ sudo apt-get install docker.io
而後重啓僞終端便可生效。
若是想安裝最新的Docker,首先你須要確認你的 apt 是否支持https,若是不支持,則需經過
以下命令進行安裝:
$sudo apt-get update
$sudo apt-get install apt-transport-https
而後將Docker庫的公鑰加入到本地 apt 中:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80
--recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
再將安裝源加入到 apt 源中,並更新和安裝:
$ sudo sh -c "echo deb https://get.docker.com/ubuntu docker main\
> /etc/apt/sources.list.d/docker.list"
$ sudo apt-get update
$ sudo apt-get install lxc-docker
爲了驗證Docker是否安裝成功,能夠運行以下命令:
$ sudo docker info
(二) Red Hat下的安裝
紅帽系列主要有紅帽企業版 Linux 6、紅帽企業版 Linux 7和Fedora。
1. 紅帽企業版Linux 7(RHEL7)
紅帽企業版Linux 7(RHEL7) 中已經默認加入了Docker,它位於附加頻道中。安裝Docker
時,首先要啓用附加頻道,相關命令以下:
$ sudo subscription-manager repos --enable=rhel-7-server-extras-rpms
而後進行安裝,相關命令以下:
$ sudo yum install docker
2. 紅帽企業版Linux 6(RHEL6)
首先,你要保證本身的紅帽是6.5以上的,內核版本在2.6.32-431以上。
在紅帽企業版Linux 6和CentOS 6中,咱們首先須要安裝EPEL包庫,而在Fedora上卻不用。
對於不一樣的平臺,一些包的命名和版本也不盡相同。
安裝EPEL的命令:
$ sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
而後安裝Docker:
$ sudo yum -y install docker-io
3. Fedora上的安裝
在Fedora 19上安裝Docker的命令以下:
$ sudo yum -y install docker-io
在Fedora 20上安裝Docker的命令以下:
$ sudo yum -y install docker
4. 在紅帽系列中啓動Docker後臺
安裝好以後,咱們就能夠啓動Docker的後臺服務了。
在RHEL 6和CentOS 6中,能夠經過以下命令來啓動:
$ sudo service docker start
咱們還可讓Docker服務開機啓動:
$ sudo service docker enable
在RHEL 7和Fedora系統中,則是:
$ sudo systemctl start docker
開機啓動是:
$ sudo systemctl enable docker
咱們能夠經過以下命令來確認Docker是否已經安裝成功:
$ sudo docker info
Containers: 13
Images: 22
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 48
Execution Driver: native-0.2
Kernel Version: 3.13.0-24-generic
Operating System: Ubuntu 14.04 LTS
WARNING: No swap limit support
(三)OS X下的安裝
由於Docker引擎採用的是Linux的內核和內核特性,若是須要在OS X上運行它,則須要一個虛擬機。Docker已經給咱們提供了一種簡潔方法,那就是利用Boot2Docker工具來安裝虛擬機和
配置Docker服務。這裏的虛擬機指的是VirtualBox。
首先, 能夠去GitHub上下載最新的Boot2Docker。 在編寫這本書的時候, 其最新版本是v1.3.2。
雙擊下載完的安裝包,將會自動安裝,如圖1-9所示。安裝的內容包含VirtualBox虛擬機、
Docker和Boot2Docker管理工具。
安裝完成以後,你能夠在OS X的「應用」文件夾中找到Boot2Docker。直接雙擊來啓動它,
或者採用以下命令行的方式:
$ boot2docker init
$ boot2docker start
$ $(boot2docker shellinit)
而後在終端能夠驗證Docker是否成功安裝:
$ docker info
Containers: 13
Images: 22
Storage Driver: aufs
...
至此,OS X下的Docker就安裝好了。
Ps:該文章經過我的閱讀相關書籍,進行整理學習筆記~閱讀書籍的原文做者,見諒~
--------------<我的原創|轉載請註明'逗子'&原文連接 | 新手適用,大牛勿噴>-------------------