日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别

發布時間:2023/11/28 生活经验 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Docker 簡介

Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從Apache2.0協議開源。

Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。

容器是完全使用沙箱機制,每個容器內運行一個應用,不同的容器相互隔離,容器之間不會有任何接口(類似 iPhone 的 app),容器之間也可以建立通信機制。更重要的是容器性能開銷極低。容器的創建和停止都十分快速,容器自身對資源的需求也十分有限。

Docker 引擎的基礎是 Linux 容器(Linux Containers, LXC)技術。

Docker 容器與虛擬機比較

Docker 和常見的虛擬機的差異

Docker 基礎概念

Docker 鏡像

Docker鏡像(Image)類似于虛擬機鏡像,可以將它理解為一個面向 Docker 引擎的只讀的模板。包含了文件系統。

?例如:一個鏡像可以只包含一個完整的 Ubuntu 操作系統環境,可以把它稱為一個 Ubuntu 鏡像。鏡像里面僅安裝了 Apache 應用程序(或用戶需要的其他軟件)。可以把它稱為一個 Apache 鏡像。

?鏡像是創建 Docker 容器的基礎。通過版本管理和增量的文件系統,Docker 提供了一套十分簡單的機制來創建和更新現有的鏡像,用戶甚至可以從網上下載一個已經做好的應用鏡像,并直接使用。

Docker 容器

Docker容器(Container)類似于一個輕量級的沙箱,Docker 利用容器來運行和隔離應用。

?容器是從鏡像創建的應用運行實例。可以將其啟動、開始、停止、刪除,而這些容器都是彼此相互隔離的、互不可見的。

?可以把容器看做是一個簡易版的 Linux 系統環境 (包括 root 用戶權限、進程空間、用戶空間和網絡空間等) 以及運行在其中的應用程序打包而成的盒子。

?鏡像自身是只讀的。容器從鏡像啟動的時候,會在鏡像的最上層創建一個可寫層。

Docker 倉庫

Docker倉庫(Repository)類似于代碼倉庫,它是 Docker 集中存放鏡像文件的場所。

有時候會看到有資料將 Docker 倉庫和倉庫注冊服務器 (Registry) 混為一談,并不嚴格區分。實際上,倉庫注冊服務器是存放倉庫的地方,其上往往存放著多個倉庫。每個倉庫集中存放某一類鏡像,往往包括多個鏡像文件,通過不同的標簽 (tag) 來進行區分。

例如存放 Ubuntu 操作系統鏡像的倉庫稱為 Ubuntu 倉庫,其中可能包括 14.04、12.04 等不同版本的鏡像。倉庫注冊服務器的示例如下圖所示。

根據所存儲的鏡像公開分享與否,Docker 倉庫可以分為公開倉庫 (Public) 和私有倉庫 (Private) 兩種形式。

?目前,最大的公開倉庫是官方提供的 Docker Hub,其中存放了數量龐大的鏡像供用戶下載。國內不少云服務提供商 (如時速云、阿里云等) 也提供了倉庫的本地源,可以提供穩定的國內訪問。

? 當然,用戶如果不希望公開分享自己的鏡像文件,Docker 也支持用戶在本地網絡內創建一個只能自己訪問的私有倉庫。當用戶創建了自己的鏡像之后就可以使用 push 命令將它上傳到指定的公有或者私有倉庫。這樣用戶下次在另外一臺機器上使用該鏡像時,只需要將其從倉庫上 pull 下來就可以了。

鏡像、容器、倉庫的區別

  1. docker 鏡像(Images)
    一個只讀模板,可以用來創建容器,一個鏡像可以創建多個容器;
    Docker 提供了一個很簡單的機制來創建和更新現有的鏡像,甚至可以直接從其他人那里獲取做好的鏡像直接使用;
    可以理解為 Java 中的類;
  2. docker 容器(Container)
    容器是從鏡像創建的運行實例,也就是鏡像啟動后的一個實例稱為容器,是獨立運行的一個或一組應用;
    Docker 利用容器來運行應用,他可以被啟動、開始、停止、刪除,每個容器都是相互隔離的、保證安全的平臺;
    可以把容器看做是一個簡易版的 Linux(包括 root 用戶權限、進程空間、用戶空間和網絡空間等)和運行在其中的應用程序;
    可以理解為 Java 中通過類創建的實例;
  3. docker 倉庫(Resoisitory)
    倉庫是集中存放鏡像文件的場所,類似 git 代碼倉庫等;
    倉庫(Respository)和倉庫注冊服務器(Registry)是有區別的。倉庫注冊服務器一般存放多個倉庫,每個倉庫又有多個鏡像,每個鏡像又有不同的標簽 tag;
    倉庫分為公開倉庫(public)和私有倉庫(private)兩種形式;
    最大的公開倉庫是 Docker Hub,國內的公開倉庫有阿里云等;
    可以在本地網絡創建一個私有倉庫;
    當創建好自己的鏡像后,可以通過 push 命令把它上傳到公開或私有倉庫;
    倉庫的概念類似 Git,倉庫注冊服務器可以理解為 GitHub 這種托管服務;
  4. docker 主機(Host)
    一個物理或虛擬的機器用來執行 Docker 守護進程和容器。
  5. docker客戶端(Client)
    客戶端通過命令行或其他工具使用 Docker。

總結

以上是生活随笔為你收集整理的Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。