成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

什么是容器鏡像?

系統
容器鏡像包含一個打包的應用,以及它的依賴關系,還有它在啟動時運行的進程信息。

[[422713]]

容器鏡像包含一個打包的應用,以及它的依賴關系,還有它在啟動時運行的進程信息。

容器是當今 IT 運維的一個關鍵部分。容器鏡像container image包含了一個打包的應用,以及它的依賴關系,還有它在啟動時運行的進程信息。

你可以通過提供一組特殊格式的指令來創建容器鏡像,可以是提交給注冊中心Registry,或者是作為 Dockerfile 保存。例如,這個 Dockerfile 為 PHP Web 應用創建了一個容器:

  1. FROM registry.access.redhat.com/ubi8/ubi:8.1
  2.  
  3. RUN yum --disableplugin=subscription-manager -y module enable php:7.3 \
  4. && yum --disableplugin=subscription-manager -y install httpd php \
  5. && yum --disableplugin=subscription-manager clean all
  6.  
  7. ADD index.php /var/www/html
  8.  
  9. RUN sed -i 's/Listen 80/Listen 8080/' /etc/httpd/conf/httpd.conf \
  10. && sed -i 's/listen.acl_users = apache,nginx/listen.acl_users =/' /etc/php-fpm.d/www.conf \
  11. && mkdir /run/php-fpm \
  12. && chgrp -R 0 /var/log/httpd /var/run/httpd /run/php-fpm \
  13. && chmod -R g=u /var/log/httpd /var/run/httpd /run/php-fpm
  14.  
  15. EXPOSE 8080
  16. USER 1001
  17. CMD php-fpm & httpd -D FOREGROUND

這個文件中的每條指令都會在容器鏡像中增加一個layer。每一層只增加與下面一層的區別,然后,所有這些堆疊在一起,形成一個只讀的容器鏡像。

它是如何工作的?

你需要知道一些關于容器鏡像的事情,按照這個順序理解這些概念很重要:

  1. 聯合文件系統
  2. 寫入時復制(COW)
  3. 疊加文件系統
  4. 快照器

聯合文件系統

聯合文件系統Union File System(UnionFS)內置于 Linux 內核中,它允許將一個文件系統的內容與另一個文件系統的內容合并,同時保持“物理”內容的分離。其結果是一個統一的文件系統,即使數據實際上是以分支形式組織。

這里的想法是,如果你有多個鏡像有一些相同的數據,不是讓這些數據再次復制過來,而是通過使用一個叫做layer的東西來共享。 

UnionFS

每一層都是一個可以在多個容器中共享的文件系統,例如,httpd 基礎層是 Apache 的官方鏡像,可以在任何數量的容器中使用。想象一下,由于我們在所有的容器中使用相同的基礎層,我們節省了多少磁盤空間。

這些鏡像層總是只讀的,但是當我們用這個鏡像創建一個新的容器時,我們會在它上面添加一個薄的可寫層。這個可寫層是你創建、修改、刪除或進行每個容器所需的其他修改的地方。

寫時復制(COW)

當你啟動一個容器時,看起來好像這個容器有自己的整個文件系統。這意味著你在系統中運行的每個容器都需要自己的文件系統副本。這豈不是要占用大量的磁盤空間,而且還要花費大量的時間讓容器啟動?不是的,因為每個容器都不需要它自己的文件系統副本!

容器和鏡像使用寫時復制copy-on-write(COW)機制來實現這一點。寫時復制策略不是復制文件,而是將同一個數據實例分享給多個進程,并且只在一個進程需要修改或寫入數據時進行復制。所有其他進程將繼續使用原始數據。

Docker 對鏡像和容器都使用了寫時復制的機制。為了做到這一點,在舊版本中,鏡像和運行中的容器之間的變化是通過圖驅動graph driver來跟蹤的,現在則是通過快照器snapshotter來跟蹤。

在運行中的容器中執行任何寫操作之前,要修改的文件的副本被放在容器的可寫層上。這就是發生  的地方。現在你知道為什么它被稱為“寫時復制”了么。

這種策略既優化了鏡像磁盤空間的使用,也優化了容器啟動時間的性能,并與 UnionFS 一起工作。

疊加文件系統

疊加文件系統Overlay File System位于現有文件系統的頂部,結合了上層和下層的目錄樹,并將它們作為一個單一的目錄來呈現。這些目錄被稱為layer。下層保持不被修改。每一層只增加與下一層的差異(計算機術語為 “diff”),這種統一的過程被稱為聯合掛載union mount

最低的目錄或鏡像層被稱為下層目錄lowerdir,上面的目錄被稱為 上層目錄upperdir。最后的覆蓋層或統一層被稱為合并層merged。 

Layered file system

常見的術語包括這些層的定義:

  • 基礎層Base layer:是你的文件系統的文件所在的地方。就容器鏡像而言,這個層就是你的基礎鏡像。
  • 疊加層Overlay layer:通常被稱為容器層container layer,因為對運行中的容器所做的所有改變,如添加、刪除或修改文件,都會寫到這個可寫層。對這一層所做的所有修改都存儲在下一層,是基礎層和差異層的聯合視圖。
  • 差異層Diff layer包含了在疊加層所作的所有修改。如果你寫的東西已經在基礎層了,那么疊加文件系統就會把文件復制到差異層,并做出你想寫的修改。這被稱為寫時復制。

快照器

通過使用層和圖驅動,容器可以將其更改作為其容器文件系統的一部分來構建、管理和分發。但是使用圖驅動graph driver的工作真的很復雜,而且容易出錯。快照器SnapShotter與圖驅動不同,因為它們不用了解鏡像或容器。

快照器的工作方式與 Git 非常相似,比如有樹的概念,并跟蹤每次提交對樹的改變。一個快照snapshot代表一個文件系統狀態。快照有父子關系,使用一組目錄。可以在父級和其快照之間進行差異比較(diff),以創建一個層。

快照器提供了一個用于分配、快照和掛載抽象的分層文件系統的 API。

總結

你現在對什么是容器鏡像以及它們的分層方法如何使容器可移植有了很好的認識。接下來,我將介紹容器的運行機制和內部結構。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-07-14 14:59:00

控制反轉依賴注入容器

2020-10-23 17:21:51

容器CaaS技術

2023-06-13 15:12:25

2021-09-11 15:38:23

容器運行鏡像開放

2018-03-22 14:47:13

容器開發人員筆記本

2014-05-08 16:10:01

虛擬化容器的虛擬化

2020-08-07 09:06:26

CaaS容器技術

2019-09-23 13:10:02

容器進程

2021-04-21 10:34:54

UPS電源電容器

2020-07-21 14:35:44

Servlet容器ApacheTomcat

2019-09-10 13:34:30

Linux操作系統軟件

2023-05-30 14:56:18

Docker開發容器

2022-02-16 20:04:08

容器KubernetesShim

2021-03-20 22:46:22

IaaSSaaSPaaS

2016-09-01 13:39:33

Linux鏡像XML 解析器

2022-08-02 07:48:06

容器鏡像版本

2023-09-01 13:49:00

內存進程線程

2019-03-28 10:20:09

容器鏡像系統運維Linux

2019-08-18 23:46:52

私有云容器鏡像倉庫

2019-10-30 12:00:02

Ansible容器與云容器鏡像
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂中文av | 最新日韩精品 | 中文字幕在线一区二区三区 | 国产精品自产拍 | 欧美中文在线 | 亚洲天堂色 | 亚洲精品18| 久久久亚洲 | 国产一区免费视频 | 无毛av| 伊人久久成人 | 在线第一页 | 一级全黄少妇性色生活免费看 | 欧美精品久久 | 国产精品免费视频一区 | 国产精品99久久久久久久久久久久 | 91亚洲一区 | 国产精品激情小视频 | 99久久久久久久久 | 国产美女视频黄a视频免费 国产精品福利视频 | 午夜午夜精品一区二区三区文 | 一区二区精品 | 97国产爽爽爽久久久 | 免费的日批视频 | 亚洲视频免费在线观看 | 日韩电影一区二区三区 | 五月天激情综合网 | 精品福利在线 | av在线影院| 国产欧美精品区一区二区三区 | 国产成人叼嘿视频在线观看 | 污污的网站在线观看 | 中文字幕爱爱视频 | 久久99精品久久久久 | 91久久久久久久久久久 | 草草网 | 日韩一级欧美一级 | 久青草影院 | 亚洲国产精品91 | 精品国产欧美一区二区三区成人 | 欧美激情精品久久久久久 |