中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

團購網站平臺建設什么公司適合做seo優(yōu)化

團購網站平臺建設,什么公司適合做seo優(yōu)化,微信接單任務群,網站建設維護 微信目錄 目錄 一:簡單理解操作系統(tǒng) 操作系統(tǒng): 內核: 內核空間和用戶空間: 二:簡單理解文件系統(tǒng) 1:什么是文件系統(tǒng) 2:什么是root文件系統(tǒng) 三:docker 1:docker鏡像 2&…

目錄

目錄

一:簡單理解操作系統(tǒng)

操作系統(tǒng):

內核:

?內核空間和用戶空間:

二:簡單理解文件系統(tǒng)

1:什么是文件系統(tǒng)

2:什么是root文件系統(tǒng)

三:docker

1:docker鏡像

?2:docker鏡像的分層存儲

?3:容器

a:容器 = 鏡像 + 可讀可寫層

b: 運行態(tài)容器 + 一些docker的基本操作

4:通過docker commit命令來理解鏡像的構成

?5:利用dockfile定制鏡像


一:簡單理解操作系統(tǒng)

操作系統(tǒng):

分為內核和用戶空間;內核,即操作系統(tǒng)用于和計算機硬件通信的部分;用戶空間,即用戶程序運行的部分。我們知道人是無法直接和計算機進行交互的,操作系統(tǒng)的作用就是上通下達,它一方面接收人類給到計算機的指令,另一方面,他將這些指令轉化為計算機零件可以看懂的東西(可以理解為,操作系統(tǒng)就是把指令轉化為特定的電流,給到特定的硬件),以此實現(xiàn)人類和計算機得交互。我們把操作系統(tǒng)和計算機硬件之間得通信部分看作是內核,把操作系統(tǒng)和用戶之間的交互看作是用戶空間(用詞可能不太準確,但大概意思是這樣)。

內核:

參考自:(19條消息) 操作系統(tǒng)的內核到底是什么?_操作系統(tǒng)內核是什么_deepin_mq的博客-CSDN博客

?內核涉及到的操作:進程調度、內存管理、文件系統(tǒng)、網絡接口、進程通信等等這些;本質上內核是對計算機硬件的抽象。

這樣說是因為這里涉及到一個更根本的問題:人機交互。如何讓計算機理解人的想法,需求,并將之實現(xiàn)。

比如:讓計算機計算一下硬盤中的一個文檔的字數(shù)。我們是沒有辦法去打開“硬盤”翻箱倒柜找到這個文件,然后丟給“CPU”去統(tǒng)計,并從“CPU”那里得到這個結果。對于計算機內部真正的核心組成部分:CPU、硬盤、內存等等這些硬件,人是無法直接去面對和交互的。而計算機處理的所有工作,都是通過調用這些硬件設備來完成的。

對操作系統(tǒng)來說,最重要的正是管理和調度計算機內部的資源。而具體到操作系統(tǒng)的內部分工,則是由內核來真正完成和執(zhí)行的。除了內核以外,操作系統(tǒng)其他所有的部件,都不需要也不關注如何計算、如何存儲、如何和具體的某個硬件設備打交道。所有的部件都只需要將具體的訴求傳遞給內核,調用內核的接口,即可完成硬件資源的調度和使用。

內核抽象了計算機內部硬件資源,并統(tǒng)一管理對外提供支持,所以內核 = 計算機硬件。
?

?內核空間和用戶空間:

參考自:用戶空間和內核空間到底是什么? - 知乎 (zhihu.com)

我們知道計算機所有運行的程序以及數(shù)據(jù)其實都是放在內存中的,也只有把程序和數(shù)據(jù)放進內存?,計算機才能進行相應的操作或者計算。那么我們以4g的內存舉例,其中有1g的內存容量是專門給內核相關代碼數(shù)據(jù)用的,比如就是地址從0~1g的內存空間,這部分內存塊,我們稱之為內核空間;而對于1~3g的內存部分,則是提供給用戶的代碼和數(shù)據(jù)的,我們把這部分內存塊看作用戶空間;

圖片來自參考。

二:簡單理解文件系統(tǒng)

1:什么是文件系統(tǒng)

文件系統(tǒng)是一種數(shù)據(jù)結構,用于管理計算機中的文件和目錄。在計算機中,文件系統(tǒng)通常是操作系統(tǒng)的一部分,它負責解釋和執(zhí)行文件系統(tǒng)中的文件和目錄,并提供對文件和目錄的訪問。文件系統(tǒng)也可以是一個獨立的軟件模塊,它運行在操作系統(tǒng)之上,提供對文件和目錄的訪問和管理。

常見的文件系統(tǒng)類型包括 FAT、FAT32、NTFS、ext2、ext3、ext4 等。

再簡單一點,文件系統(tǒng)不是文件,是用來管理文件的的一種數(shù)據(jù)結構,它本身也是可以保存數(shù)據(jù)之類的,比如下面說到的root文件系統(tǒng),它就存儲了系統(tǒng)的根目錄和根文件系統(tǒng)中的數(shù)據(jù)和文件。

典型的Linux文件系統(tǒng)由bootfs文件系統(tǒng)和rootfs文件系統(tǒng)組成,bootfs會在Kernel加載到內存后umount掉,所以我們進入系統(tǒng)看到的都是rootfs。

BootFS 和 rootFS 是 Linux 內核中用于存儲和管理根文件系統(tǒng)中的數(shù)據(jù)和文件的模塊。

BootFS 是一個特殊的文件系統(tǒng),它在 Linux 內核啟動時自動掛載到內存中,并用于存儲內核啟動時需要使用的數(shù)據(jù),例如內核鏡像、內核配置信息和內核日志等。BootFS 通常使用 LUKS 加密,并且可以在內核啟動時進行調整。

rootFS 是 Linux 內核中用于存儲根文件系統(tǒng)中的數(shù)據(jù)和文件的模塊。它是一個只讀的文件系統(tǒng),通常使用 EXT4 文件系統(tǒng)格式。rootFS 通常位于硬盤的最后一個扇區(qū),并且是系統(tǒng)啟動時第一個被加載的文件系統(tǒng)。在這個文件中,可以找到系統(tǒng)引導程序 (如 Grub) 以及用于管理系統(tǒng)文件的 Shell 和命令。

bootfs 和 rootfs 是 Linux 內核中用于存儲和管理重要數(shù)據(jù)的文件系統(tǒng),它們的作用非常重要,對于系統(tǒng)的穩(wěn)定性和安全性都有著至關重要的作用。

2:什么是root文件系統(tǒng)

root文件系統(tǒng),不等同于上述的rootfs文件系統(tǒng),它是linux系統(tǒng)下,用來管理“/”文件夾的文件系統(tǒng);"/"文件夾,也就是根目錄,這個目錄下包括/home,/bin,/usr,/etc等文件。因為root文件系統(tǒng)是用來管路根目錄的,也就是說root文件系統(tǒng)可以管理/下面所有文件,對所有文件有操作,訪問的權限,所以:root 文件系統(tǒng)是操作系統(tǒng)中唯一的超級用戶權限所有者所在的文件系統(tǒng),因此只有 root 用戶可以訪問和修改它。為了保護系統(tǒng)的安全性,root 文件系統(tǒng)通常需要進行加密和分區(qū),以便只有 root 用戶可以訪問和修改它。

root 文件系統(tǒng)通常用于存儲系統(tǒng)啟動文件,如 boot 目錄、/etc 目錄、/var 目錄等,以及所有系統(tǒng)啟動時需要訪問的文件。

對于 Linux 而言,內核啟動(就是BootFS 文件系統(tǒng))后,會掛載?root?文件系統(tǒng)為其提供用戶空間支持,這里就是上面說的,會用到bootfs

root 文件系統(tǒng)是指 Linux 系統(tǒng)中的一個特殊文件系統(tǒng),通常用于存儲系統(tǒng)的根目錄和根文件系統(tǒng)中的數(shù)據(jù)和文件。在 Linux 系統(tǒng)中,root 文件系統(tǒng)通常是只讀的,并且只有系統(tǒng)管理員才能進行修改。

root 文件系統(tǒng)通常使用 EXT4 文件系統(tǒng)格式,并且在 Linux 內核中,有一個特殊的模塊叫做"rootfs"或"root partition",用于加載和初始化 root 文件系統(tǒng)。在系統(tǒng)啟動時,內核會首先加載 rootfs 模塊,然后通過模塊中的代碼來加載 root 文件系統(tǒng)并將其掛載到根目錄下。

root 文件系統(tǒng)是 Linux 系統(tǒng)的核心,它包含了系統(tǒng)的啟動代碼、系統(tǒng)配置文件、系統(tǒng)運行所需的命令和文件等。因此,一旦 root 文件系統(tǒng)被損壞或破壞,可能會導致整個系統(tǒng)無法運行。因此,在維護 Linux 系統(tǒng)時,通常需要小心謹慎地操作 root 文件系統(tǒng)。

root 文件系統(tǒng)和 rootfs 文件系統(tǒng)是不同的,盡管它們在某些方面有相似之處。

root 文件系統(tǒng)是 Linux 系統(tǒng)中的一個重要文件系統(tǒng),通常用于存儲系統(tǒng)的根目錄和根文件系統(tǒng)中的數(shù)據(jù)和文件。root 文件系統(tǒng)通常是只讀的,并且只有系統(tǒng)管理員才能進行修改。在 Linux 系統(tǒng)中,root 文件系統(tǒng)通常使用 EXT4 文件系統(tǒng)格式。

rootfs 文件系統(tǒng)是在 Linux 內核中用于加載和初始化根文件系統(tǒng)的模塊,通常也稱為根文件系統(tǒng)模塊。rootfs 文件系統(tǒng)模塊使用特殊的命令和代碼來加載和初始化 root 文件系統(tǒng),并將其掛載到根目錄下。與 root 文件系統(tǒng)不同,rootfs 文件系統(tǒng)通常是可寫的,并且系統(tǒng)管理員可以使用該文件系統(tǒng)來更新和修改根文件系統(tǒng)。

因此,盡管 root 文件系統(tǒng)和 rootfs 文件系統(tǒng)都是用于存儲根目錄和根文件系統(tǒng)中的數(shù)據(jù)和文件,但它們的具體實現(xiàn)和功能是不同的。

三:docker

參考自:鏡像 · Docker —— 從入門到實踐 · 看云 (kancloud.cn)

1:docker鏡像

docker鏡像就相當于一個root文件系統(tǒng)。比如官方鏡像?ubuntu:18.04?就包含了完整的一套 Ubuntu 18.04 最小系統(tǒng)的?root?文件系統(tǒng)。

題外話:這也是為什么說docker容器比虛擬機輕量的原因,因為docker只是一個root文件系統(tǒng),也就是相當于只虛擬了用戶空間;而虛擬機時要虛擬整個操作系統(tǒng),它不僅要虛擬用戶空間,還要虛擬內核。每一個虛擬機都是這樣,所以很笨重。

Docker 鏡像是一個特殊的文件系統(tǒng),除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(shù)(如匿名卷、環(huán)境變量、用戶等)。鏡像不包含任何動態(tài)數(shù)據(jù),其內容在構建之后也不會被改變。

注意:docker鏡像相當于root文件系統(tǒng),但它不是root文件系統(tǒng),也不是rootfs文件系統(tǒng),它就是一組只讀的文件系統(tǒng)。

在 Docker 鏡像中,數(shù)據(jù)和配置通常存儲在 Docker 鏡像的卷中,而不是在 rootfs 文件系統(tǒng)中。Docker 鏡像的卷是一個或多個只讀的文件系統(tǒng),它們可以被映射到容器的目錄中,從而為容器提供所需的數(shù)據(jù)和配置。因此,Docker 鏡像并不直接等同于 rootfs 文件系統(tǒng),但它們可以一起用于構建和部署容器化應用程序。

?2:docker鏡像的分層存儲

因為鏡像包含操作系統(tǒng)完整的?root?文件系統(tǒng),其體積往往是龐大的,因此在 Docker 設計時,就充分利用?Union FS?的技術,將其設計為分層存儲的架構。所以嚴格來說,鏡像并非是像一個 ISO 那樣的打包文件,鏡像只是一個虛擬的概念,其實際體現(xiàn)并非由一個文件組成,而是由一組文件系統(tǒng)組成,或者說,由多層文件系統(tǒng)聯(lián)合組成

?docker鏡像時一組文件系統(tǒng),這組文件系統(tǒng)有層次劃分。

鏡像構建時,會一層層構建,前一層是后一層的基礎。每一層構建完就不會再發(fā)生改變,后一層上的任何改變只發(fā)生在自己這一層。比如,刪除前一層文件的操作,實際不是真的刪除前一層的文件,而是僅在當前層標記為該文件已刪除。在最終容器運行的時候,雖然不會看到這個文件,但是實際上該文件會一直跟隨鏡像。因此,在構建鏡像的時候,需要額外小心,每一層盡量只包含該層需要添加的東西,任何額外的東西應該在該層構建結束前清理掉。

因此,我們可以把鏡像簡單理解為一組只讀的文件系統(tǒng):

參考:(19條消息) docker容器和鏡像的區(qū)別_docker鏡像和容器的區(qū)別_清風不滅的博客-CSDN博客

?3:容器

參考:容器 · Docker —— 從入門到實踐 · 看云 (kancloud.cn)

(19條消息) docker容器和鏡像的區(qū)別_docker鏡像和容器的區(qū)別_清風不滅的博客-CSDN博客

鏡像(Image)和容器(Container)的關系,就像是面向對象程序設計中的??和?實例?一樣,鏡像是靜態(tài)的定義,容器是鏡像運行時的實體。再做個類比,鏡像就是代碼,容器就是代碼運行起來的進程。(僅作類比)

a:容器 = 鏡像 + 可讀可寫層

?圖片來源于:Docker系列學習(14) -- 容器內鏡像分層詳解 - 掘金 (juejin.cn)

這個讀寫層可以讀取下面鏡像層的內容,但是,是只能讀不能寫的!!!!!

容器的實質是進程,但與直接在宿主執(zhí)行的進程不同,容器進程運行于屬于自己的獨立的?命名空間。因此容器可以擁有自己的?root?文件系統(tǒng)、自己的網絡配置、自己的進程空間,甚至自己的用戶 ID 空間。

?

b: 運行態(tài)容器 + 一些docker的基本操作

運行態(tài)容器 = 容器 + 隔離的進程空間;圖中灰色框表示進程

?

?

?

?

?其他命令可以詳細參考:(19條消息) docker容器和鏡像的區(qū)別_docker鏡像和容器的區(qū)別_清風不滅的博客-CSDN博客

?

4:通過docker commit命令來理解鏡像的構成

docker commit?命令,可以將容器的存儲層保存下來成為鏡像。換句話說,就是在原有鏡像的基礎上,再疊加上容器的存儲層,并構成新的鏡像。存儲記錄了文件的變化以及新加入的東西等

舉例如下:參考自:利用 commit 理解鏡像構成 · Docker —— 從入門到實踐 · 看云 (kancloud.cn)

?

?這里我們可以看到,容器的這個讀寫層,實際上最開始的時候,是直接讀取的鏡像保存的東西;但其實不是簡單的讀取!后面會細說!

?

?這樣看上去我們修改了鏡像的內容,實際上是沒有的,我們永遠要記住,鏡像是只讀的!!

?那么修改的到底是什么呢?

其實是:參考自:Docker系列學習(14) -- 容器內鏡像分層詳解 - 掘金 (juejin.cn)

容器層有一種特效叫 copy-on-wirte, 這是指在容器層進行文件修改時,容器層會自上向下逐層掃描鏡像層尋找文件,找到后會copy一份副本到容器層中,再進行修改,這樣不會影響鏡像

這里還要提一下對容器層刪除文件的操作,上面也說了,容器層的文件是從鏡像層copy來的,刪除的時候刪除copy的文件,但如果沒有拷貝的文件,就會生成了一條刪除記錄,記錄在without文件中,并屏蔽對該鏡像層中這個文件的讀取

容器層被刪除時,容器層內的所有文件都會失效,數(shù)據(jù)也會被刪除

?同時,當我們運行一個容器的時候(如果不使用卷的話),我們做的任何文件修改都會被記錄于容器存儲層里。這樣,上層的鏡像內容就會覆蓋底層的鏡像內容,看上去就像是修改了底層鏡像內容一樣,實際上底層鏡像內容并沒有動

這里我們通過commit理解了鏡像的生成,但實際上我們很少直接用commit來生成鏡像,因為commit'是一個黑箱操作,他會帶來很多無關的內容。而且很多操作是不可知的;另外,因為我們說了,這樣的方式是不會修改之前層的,我們只會在當前的容器可讀可寫層記錄之前層文件的添加,修改之類的,所以會讓鏡像不斷的臃腫。

5:利用dockfile定制鏡像

待續(xù):使用 Dockerfile 定制鏡像 · Docker —— 從入門到實踐 · 看云 (kancloud.cn)

從剛才的?docker commit?的學習中,我們可以了解到,鏡像的定制實際上就是定制每一層所添加的配置、文件。如果我們可以把每一層修改、安裝、構建、操作的命令都寫入一個腳本,用這個腳本來構建、定制鏡像,那么之前提及的無法重復的問題、鏡像構建透明性的問題、體積的問題就都會解決。這個腳本就是 Dockerfile。?

Dockerfile 是一個文本文件,其內包含了一條條的?指令(Instruction),每一條指令構建一層,因此每一條指令的內容,就是描述該層應當如何構建。

?拿上面的例子來舉例:

6:基礎鏡像

參考:使用 Dockerfile 定制鏡像 · Docker —— 從入門到實踐 · 看云 (kancloud.cn)

在dockfile中,from用于指定基礎鏡像,我們說用dockfile來定制鏡像,那一定是以一個鏡像為基礎,在其上進行定制。就像我們之前運行了一個?nginx?鏡像的容器,再進行修改一樣,基礎鏡像是必須指定的。因此一個?Dockerfile?中?FROM?是必備的指令,并且必須是第一條指令。

在?Docker Hub?上有非常多的高質量的官方鏡像,有可以直接拿來使用的服務類的鏡像,如?nginx、redis、mongo、mysql、httpd、php、tomcat?等;也有一些方便開發(fā)、構建、運行各種語言應用的鏡像,如?node、openjdk、python、ruby、golang?等??梢栽谄渲袑ふ乙粋€最符合我們最終目標的鏡像為基礎鏡像進行定制。

如果沒有找到對應服務的鏡像,官方鏡像中還提供了一些更為基礎的操作系統(tǒng)鏡像,如?ubuntu、debian、centos、fedora、alpine?等,這些操作系統(tǒng)的軟件庫為我們提供了更廣闊的擴展空間。

除了選擇現(xiàn)有鏡像為基礎鏡像外,Docker 還存在一個特殊的鏡像,名為?scratch。這個鏡像是虛擬的概念,并不實際存在,它表示一個空白的鏡像。

如果你以?scratch?為基礎鏡像的話,意味著你不以任何鏡像為基礎,接下來所寫的指令將作為鏡像第一層開始存在。

不以任何系統(tǒng)為基礎,直接將可執(zhí)行文件復制進鏡像的做法并不罕見,比如?swarm、etcd。對于 Linux 下靜態(tài)編譯的程序來說,并不需要有操作系統(tǒng)提供運行時支持,所需的一切庫都已經在可執(zhí)行文件里了,因此直接?FROM scratch?會讓鏡像體積更加小巧。使用?Go 語言?開發(fā)的應用很多會使用這種方式來制作鏡像,這也是為什么有人認為 Go 是特別適合容器微服務架構的語言的原因之一。

7:dockfile的RUN命令?

參考自:使用 Dockerfile 定制鏡像 · Docker —— 從入門到實踐 · 看云 (kancloud.cn)

?RUN命令的作用就是新開一個容器,然后再這個容器上執(zhí)行命令,執(zhí)行完以后把這層可讀可寫層commit成一個鏡像。

?這里可以很好的說明為什么commit會造成鏡像臃腫,像這里的命令一樣,每一個RUN就是一層鏡像,但我們的最終目標其實就是最后的一個RUN,而中間的RUN其實就是寫編譯軟件呀,或者編譯過程的中間文件,這些文件其實是不需要的,但是這里的RUN和commit一樣都保存下來了,所以會讓鏡像越來越臃腫。

?8:docker build建立鏡像

參考:使用 Dockerfile 定制鏡像 · Docker —— 從入門到實踐 · 看云 (kancloud.cn)

未完待續(xù)........

http://www.risenshineclean.com/news/44915.html

相關文章:

  • ??谧鼍W站的公司如何做好營銷
  • 新網站前期如何做seo怎么在百度免費推廣
  • 諸暨網站制作哪些公司制作西安網站制作推廣
  • 荊州網站建設seo門戶 site
  • 泰和網站制作網站空間
  • 什么網站建設最簡單騰訊3大外包公司
  • wordpress購買服務器百度seo搜索營銷新視角
  • 專門做app的網站內容營銷策略
  • 銅仁市網站建設情況上海百度推廣電話
  • 合肥網站推廣 公司哪家好最好看免費觀看高清大全
  • 鄭州建網站多少河南整站百度快照優(yōu)化
  • 做網站除了廣告還有什么收入的種子搜索神器網頁版
  • 百度做網站一鍵優(yōu)化清理加速
  • 建網站個人主機做服務器天津seo選天津旗艦科技a
  • 重慶社區(qū)官網太原seo關鍵詞排名
  • 企業(yè)網站建設的一般要素包括6百度下載官網
  • 產品宣傳片制作公司seo網站關鍵詞排名優(yōu)化公司
  • 中國在菲律賓做網站百度知道首頁
  • 設計類專業(yè)網站西安核心關鍵詞排名
  • 哪個網站做非洲的生意站長素材
  • 做網站經常加班還是appdz論壇seo
  • 購買域名后如何使用搜索網站排名優(yōu)化
  • 給網站首頁圖片做外網超鏈接_為什么會彈出一個服務器登錄窗口網頁制作成品
  • 那些網站可以接私活做比較好的免費網站
  • 北京網站優(yōu)化公司如何輿情分析報告模板
  • 自己在線制作logo免費頭像大連網絡營銷seo
  • 怎么建網站做推廣太原網站關鍵詞排名
  • 建筑方面的網站起飛頁自助建站平臺
  • 如何用框架做網站搜索引擎優(yōu)化seo的英文全稱是
  • 凡科網站代碼怎么短視頻營銷推廣方式