1. 程式人生 > >二、Docker

二、Docker

1、Docker - The TLDR(Too Long,Don't Read,Linxu 終端工具 )

Docker是在Linux和Windows上執行的軟體。它建立、管理和編排容器。該軟體以開源方式開發,在Github上作為Moby開源專案的一部分。
Docker,Inc.提供商業版本的Docker。

2、The Docker runtime and orchestration engine

當大多數技術專家談論Docker時,他們指的是Docker引擎。Docker引擎是執行和協調的基礎設施管道軟體。如果您是一名VMware管理員,您可以將其視為類似於ESXi。與ESXi是執行虛擬機器的核心管理程式技術一樣,Docker引擎是執行容器的核心容器執行時。
所有其他Docker公司和第三方產品可以插入Docker引擎並構建在它周圍。下圖顯示了Docker引擎在中間。途中的所有其他產品都構建在引擎之上並利用其核心功能。

Docker引擎可以從Docker網站上下載,在Linux和Windows上都可用,分為兩個版本:

  • 企業版(EE)
  • 社群版(CE)

3、The container ecosystem
ocker, Inc.的核心哲學之一是:Batteries included but removable.

也就是說可以移除native Docker stuff,並用第三方的stuff來進行替換。比如,Docker產品有內建的網路,但是你可以替換它。

4、Installing Docker()

Desktop installs
– Docker for Windows(DfW)

      安裝條件:

        (1)Windows 10 Pro | Enterprise | Education (1607 Anniversary Update, Build 14393 or newer);

        (2)必須是64位Windows;

        (3)Hyper-V 和 Containers 特性必須開啟;

        (4)在系統BIOS中的硬體虛擬化支援必須開啟。

        注:上述3和4的開啟方式請自行搜尋。

        上述條件設定好後,請在https://www.docker.com/get-docker上下載Windows版本,需要註冊賬號。下載並進行安裝,安裝完成後,在命令列輸入Docker version,出現如下資訊,安裝成功。

 Server installs
– Linux

    在Linux上安裝Docker很簡單,最困難的是在Linux發行版之間的輕微變化,如Ubuntu vs CentOS。

    Docker CE 是免費笨笨. Docker EE 與CE相同,但是帶有商業支援,可以訪問其他的Docker產品,諸如:Docker Trusted Registry 和Universal Control Plane

    Linux上的安裝在此不在詳述,可以自行搜尋。
• Upgrading Docker

    升級Docker需要一些先決條件,可能包括;確保您的容器具有適當的重新啟動策略,或者如果在叢集中使用服務,則把節點排出群集模式。一旦你完成了任何潛在的先決條件,則可根據如下步驟進行升級:

        1. Stop the Docker daemon
        2. Remove the old version
        3. Install the new version
        4. configure the new version to automatically start when the system boots
        5. Ensure containers have restarted
• Storage driver considerations

每個Docker容器都有自己的本地儲存區域,其中影象層是堆疊的,容器檔案系統是掛載的。預設情況下,容器所有的讀/寫操作都發生在這裡,使其成為每個容器效能和穩定性的一部分。

歷史上,這個本地儲存區域是由儲存驅動程式管理的,我們有時稱為圖形驅動程式或圖形驅動程式。雖然疊加影象層和使用copy-on-write技術的高階概念是不變的,在Linux上的docker支援幾個不同的儲存驅動程式,每個驅動程式都以自己的方式實現了分層和copy-on-write。儘管這些實現存在差異,但並不影響我們與Docker的互動,但是它們對效能和穩定性有一定的影響。

Linux上的Docker所支援的儲存驅動器有如下:

  •  aufs (the original and oldest)
  • overlay2 (probably the best choice for the future)
  • devicemapper
  • btrfs
  • zfs

Windows上的Docker僅支援一種儲存驅動器:windowsfilter。

在Linux中,可以通過 /etc/docker/daemon.json來設定儲存驅動器,如:

{
    "storage-driver": "overlay2"
}

可以使用docker system info來檢視當前所使用的儲存驅動器。

如果要更改已經執行Docker主機的儲存驅動程式,則現有映象和容器在重新啟動Docker後將不可用。這是因為每個儲存驅動程式在在主機上都有自己的子目錄,用來儲存映象層(通常位於/var/lib/docker/<storage driver>/…)。更改儲存驅動顯然改變了Docker尋找映象和容器的位置。回覆儲存驅動到先前的配置,則使得舊映象和容器再次可用。
如果需要更改儲存驅動程式,並且需要使得映象和容器要在更改後可用,您需要使用docker save儲存它們,並將已儲存的映象推動到repo,更改儲存驅動器,重新啟動docker,本地拉取映象,然後