<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ![](https://cdn.zimug.com/wx-zimug.png) [TOC] ## 一、docker鏡像與容器 docker鏡像是一個可執行的靜態獨立軟件包,包含打包程序代碼和軟件運行環境等文件。如:代碼、運行時庫、環境變量和配置文件等都包含在其中。容器是鏡像的運行時狀態(鏡像中的軟件、程序運行),占用服務器CPU、內存、磁盤等資源。 ![](http://cdn.zimug.com/8121c7c16e41c80aa65a83f7f4401c57) 如果學過java,用下面的這個類比能夠更形象的理解二者之間的關系: * 鏡像可以類比java類的二進制字節碼文件。 * 容器可以類比由字節碼實例化出來的java對象。 * 一個字節碼文件(類)可以new出來多個對象,一個鏡像可以快速實例化多個容器服務。 **鏡像來源有哪些?** * Docker Hub官方鏡像,以及國內阿里云等都有對外開放的docker鏡像倉庫。 * 使用Dockerfile自己構建鏡像。Dockerfile是代碼文件、環境變量、系統依賴軟件等的構建描述,將鏡像的構建過程固化下來,保證了不重復做環境安裝工作。概念上類似于maven的pom.xml。 * 企業私有鏡像以及私有鏡像倉庫Docker registry **docker容器的本質是宿主機上的一個進程,這句話怎么理解?** 容器的的運行時實質是進程,但它與直接在宿主機里面執行的進程有所不同,容器進程存在屬于自己的獨立的命名空間。因此容器擁有自己的 root 文件系統、自己的網絡配置、自己的進程空間,甚至自己的用戶 ID 空間。 容器內的進程是運行在一個隔離的環境里,使用起來就好像是在一個獨立于宿主的系統下操作一樣。也因為這種隔離的特性,很多人初學 Docker 時常常會混淆容器和虛擬機。 ## 二、Docker 核心組成部分 我們在前文中安裝的Docker CE主要由如下幾部分構成:Docker 客戶端(Docker Client)、Docker 守護進程(Docker daemon)、containerd 以及 runc,它們協調合作共同負責容器的創建和運行以及生命周期的管理。 ![](http://cdn.zimug.com/68465013d4ee81e95c3d7a88e6db08d8) * Docker Client:命令行方式向docker引擎(服務端)發送指令。 * REST API:docker 引擎(服務端)通過RESTful API的方式,對外提供操作命令入口。 * daemon:docker 守護進程,包含REST AP、身份驗證、基礎配置管理等特性。 * containerd:核心功能用于容器生命周期的管理,如:啟動、暫停、刪除等。鏡像管理功能也在containerd中。 * runc :runc是一個輕量級的、針對 Libcontainer 進行了包裝的命令行交互工具(Libcontainer 取代了早期 Docker 架構中的 LXC)。LXC 提供了對諸如命名空間(Namespace)和控制組(CGroup)等基礎工具的操作能力。 * namespace實現資源隔離,如:獨立的文件系統、網絡空間、用戶空間等。 * cgroups實現資源的限制,如每個容器使用多少內存。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看