【Docker】Docker是什麼?怎麼安裝?怎麼用?

  從今天開始學習Docker,經過對網上資料的蒐集與學習,記錄一下。linux


是什麼 ?docker

  Docker是一個基於LXC實現的相似於VMs的超輕量級虛擬機。ubuntu

  它與VMs的區別在於,VMs提供的是一個完整的操做系統虛擬環境,從硬件層次上,包含了大量相似硬件驅動、虛擬處理器、網絡接口等等並不須要的信息,而且虛擬機也須要比較長時間的啓動,同時也會消耗大量的內存、CPU 資源。windows

  而Docker 擴展了 Linux 容器(Linux Containers),或着說 LXC,經過一個高層次的 API 爲進程單獨提供了一個輕量級的虛擬環境。Docker 利用了 LXC, cgroups 和 Linux 本身的內核。和傳統的虛擬機不一樣的是,一個 Docker 容器並不包含一個單獨的操做系統,而是基於已有的基礎設施中操做系統提供的功能來運行的。服務器

  

  Docker 會像一個可移植的容器引擎那樣工做。它把應用程序及全部程序的依賴環境打包到一個虛擬容器中,這個虛擬容器能夠運行在任何一種 Linux 服務器上。網絡

  而且Docker並不會像普通虛擬機同樣包含操做系統內核,也不須要虛擬一切硬件平臺,它直接經過Docker Engine在宿主機平臺上進行調度,從而大大減小了調用的複雜度,減小了運行的時間。curl

  Docker 由下面這些組成:
    1. Docker 服務器守護程序(server daemon),用於管理全部的容器。
    2. Docker 命令行客戶端,用於控制服務器守護程序。
    3. Docker 鏡像:查找和瀏覽 docker 容器鏡像。性能

  Docker的優勢:學習

    1. 啓動速度塊,一般1秒就能啓動。測試

    2. 資源利用率高,單位宿主機可同時運行的容器多。

    3. 性能開銷很小。

  Docker的缺陷:

     1. Docker是基於Linux 64bit的,沒法在windows/unix或32bit的linux環境下使用

     2. LXC是基於cgroup等linux kernel功能的,所以container的guest系統只能是linux base的

     3. 隔離性相比KVM之類的虛擬化方案仍是有些欠缺,全部container公用一部分的運行庫

     4. 網絡管理相對簡單,主要是基於namespace隔離

     5. cgroup的cpu和cpuset提供的cpu功能相比KVM的等虛擬化方案相比難以度量(因此dotcloud主要是按內存收費)

     6. docker對disk的管理比較有限

     7. container隨着用戶進程的中止而銷燬,container中的log等用戶數據不便收集


怎麼裝 ?

  關於安裝一個新的東東,最靠譜仍是官方的文檔了。

  官方以ubuntu爲例,個人系統爲Debian,安裝方法大體相同。

  一、更新源:

sudo apt-get update

  二、添加Docker的repository到你的本地祕鑰庫:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

  三、將Docker添加到你的apt軟件安裝源:

sudo sh -c "echo deb http://get.docker.io/ubuntu docker main /etc/apt/sources.list.d/docker.list"

  四、更新:

sudo apt-get update

  五、安裝Docker:

sudo apt-get install lxc-docker

  安裝完畢後,輸出docker測試,若是安裝成功了會出現:

  表示安裝成功了。

  官方還提供了一個簡單的腳原本幫助你安裝Docker,只要運行這個指令:

curl -s https://get.docker.io/ubuntu/ | sudo sh

  一切就循序漸進的進行了。


  以上是舊版本的安裝方法,Docker正式版出來以後,Debain/Ubuntu用戶能夠直接使用命令:

sudo apt-get install docker.io

  來一鍵安裝docker


怎麼用 ?

  如今咱們來試試運行一個Hello World!

  首先獲取一個ubuntu鏡像:

sudo docker pull ubuntu

  若是感受慢,能夠從docker中文官網介紹的同樣,從國內的鏡像點下載:

docker pull docker.cn/docker/ubuntu

  待下載完後:

  

  運行:

root@amd64:~# docker run docker.cn/docker/ubuntu /bin/echo xxxxx

  效果:

  

  這個是最簡單的例子,更多應用,慢慢探索!

相關文章
相關標籤/搜索