1. 程式人生 > >Docker基礎教程——介紹及核心概念

Docker基礎教程——介紹及核心概念

    1、介紹

    額,介紹我就拉一段百科吧。

    Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。

    Docker是基於Go語言實現的,誕生於13年,Docker相對於虛擬機器是更為輕量級的解決方案,在開發和運維過程中有很大的優勢:

    1、更快速的交付和部署。

    2、更搞笑的資源利用。

    3、更輕鬆的遷移和擴充套件。

    4、更簡單的更新管理。

   2、 核心概念

    Docker有三大核心概念:映象(Image)、容器(Container)、倉庫(Repository)。

    2.1、映象

    映象類似於虛擬機器映象,可以理解為一個面向docker引擎的只讀模板,包含了系統檔案。

    映象可是是Centos系統的,也可以是Ubuntu或者其他系統的(暫時不支援Windows),然後在其只上可以安裝應用程式。

    映象是建立容器的基礎。通過版本管理和增量的檔案系統,docker可以簡單的建立和更新現有的映象,也可以從網上下載做好的映象直接使用。

    2.2、容器

    容器相當於一個輕量級的沙箱,用來執行和隔離應用。

    容器是從映象建立的應用執行例項,可以將其啟動、開始、停止、刪除,這些容器是相互隔離,互不可見的。

    映象自身是隻讀的,容器從映象啟動的時候,Docker會在映象的最上層建立一個可寫層,映象本身將保持不變。

    2.3、倉庫

    倉庫類似於程式碼倉庫,是docker集中存放映象檔案的場所。

    docker倉庫和註冊伺服器是不一樣的,註冊伺服器是存放倉庫的地方,可以包含很多個倉庫,每個倉庫集中存放某一類映象,往往包含多個映象檔案,通過不同的標籤(TAG)區分。

    不過很多時候都不嚴格的將註冊伺服器和倉庫混為一談。

    倉庫分公共倉庫和私有倉庫,公共倉庫是存放的共享的映象檔案,目前最大的是Docker Hub。使用者可以建立私有倉庫在自己的區域網中。

    3、安裝Docker

    Docker支援主流的作業系統,主要包括Linux系列系統(Ubuntu、Centos等)、MacOS系統、Windows系統等,不過只有在Linux系列平臺上是原生支援的,所以體驗也最好。

    3.1、Ubuntu

    14.04及以上版本上的安裝

    Ubuntu 14.04 版本官方軟體源中已經自帶了Docker包,可以直接安裝(如果使用者不為Root,可能需要sudo命令):

apt-get update
apt-get install -y dicker.io
ln -sf /usr/bin/docker.io /usr/local/bin/docker
sed -i '$acomplete -F _docker docker' /etc/bash_conpletion.d/docker.io
    此處使用Ubuntu 14.04 自帶的安裝包安裝,通常安裝的Docker不是最新的版本。

    也可以使用下面的方法從官網安裝最新的版本。不過需要先安裝apt-transport-https,並新增docker官方源:

apt-get install apt-transport-https
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36AlD7869245C8950F966E92D8576A88D21E9
bash -C "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/source.list.d/docker.list"
apt-get update
    然後
apt-get install -y lxc-docker
    如果需要更新Docker可以執行如下命令:
apt-get update -y lxc-docker
    ubuntu 更低的版本安裝

    需要先升級核心並重啟才能安裝:

apt-get update
apt-get install -y linux-image-generic-lts-raring linux-headers-generic-lts-raring
reboot

    3.2、centos 安裝

    Docker支援Centos 6 及更高版本。

    Centos 6 可以使用EPEL庫安裝:

yum install -y http://mirrors.yum-idc.com/epel/6/i386/epel-release-6-8.noarch.rpm
yum install -y docker.io
    對於Centos 7 ,源中已經內建了Docker,可以直接yum安裝:
yum install -y docker

    3.3、windows和MacOS

    windows安裝需要先安裝虛擬機器,其他的就不多說了。

    MacOS需要先安裝Boot2Docker。

    4、總結

    Docker有三大核心概念:映象、容器和倉庫。

    通過這三大核心概念可以構建高效的工作流程。