docker之基礎概念

特性:
     容器化技術,輕量,便於移植。

基本概念:
    base p_w_picpath(基本鏡像):
        用來構建p_w_picpath的基礎的鏡像。處在所有層的最低端。

    p_w_picpath(鏡像):
        一個用來構建container的只讀模板。包含了container啓動所需的所有信息,例如運行的程序和配置、數據等。是一個多層的結構。

    container(容器):
        負責應用程序的運行,以及它們對應的運行環境。是根據p_w_picpaths構建,會在頂層創建讀寫層。

    repository(倉庫):
        集中存放p_w_picpath的地方
        Docker Hub
            Docker官方維護的公共倉庫,不指定倉庫默認使用此。

        私有倉庫:


    registry(註冊服務器):
        管理repoistory的程序
        角色:
            index
                負責維護用戶賬號,p_w_picpath的校驗,以及公共命名空間信息。
            registry
                存放鏡像等

            registry client
                docker充當,負責pull和push的任務,以及客戶端授權。

    host(宿主機):
        運行docker deamon的設備。

    Dockerfile:
        文件的指令集,用於定義如何自動的創建一個docker鏡像。每執行一個指令,會創建一個新的層。其中指令是不分大小寫的,但是指令的命名約定是全部大寫。

組件:
    Docker Client
        用戶界面,用來和Docker Deamon進行交互。docker的二進制程序。
    
    Docker Daemon
        用於處理服務器請求,執行Docker Client傳遞的操作。

    Docker Index
        中央registry,支持公有或私有訪問權限的Docker p_w_picpath和Docker container的備份。

所使用的操作系統功能:
    Namespaces
        負責隔離。確保一個container中運行的一個程序和外界完全隔離,容器外的其他進程不會收受到影響。
    Control Groups
        LXC的組成部分,負責資源的調度。
    UnionFS
        文件系統,容器的構建塊。負責創建用戶層。

 使用docker運行程序的步驟:
    Docker Client (指定base p_w_picpath和Dockerfile)-->Docker Deamon(根據Dockerfile,以base p_w_picpath作爲模板進行構建) -->構建p_w_picpath(根據Dockerfile的內容,執行每個指令,在base p_w_picpath上創建一個新的層)-->Docker Index(構建好的p_w_picpath會被推動到此,進行存放)--> 運行container(在構建好的p_w_picpath上創建一個讀寫層)-->分配網絡和IP-->運行程序。

使用docker run創建container時後臺的操作:
    1.檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
    2.利用鏡像創建並啓動一個容器
    3.分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀寫層
    4.從宿主主機配置的網橋接口中橋接一個虛擬接口到容器中去
    5.從地址池配置一個 ip 地址給容器
    6.執行用戶指定的應用程序
    7.執行完畢後容器被終止

load和import、export和save的區別:
    load 加載鏡像文件,對p_w_picpath操作
    save 保存鏡像文件,對p_w_picpath操作
        
    imprt 導入容器快照文件爲鏡像,對container操作
    export導出容器快照爲快照文件,對container操作

    容器快照文件:僅保存容器當時的快照狀態
    鏡像文件:保存完整記錄,包括歷史記錄、元數據信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章