国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

團(tuán)購(gòu)網(wǎng)站平臺(tái)建設(shè)什么公司適合做seo優(yōu)化

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

目錄

目錄

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

操作系統(tǒng):

內(nèi)核:

?內(nèi)核空間和用戶空間:

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

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

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

三:docker

1:docker鏡像

?2:docker鏡像的分層存儲(chǔ)

?3:容器

a:容器 = 鏡像 + 可讀可寫(xiě)層

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

4:通過(guò)docker commit命令來(lái)理解鏡像的構(gòu)成

?5:利用dockfile定制鏡像


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

操作系統(tǒng):

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

內(nèi)核:

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

?內(nèi)核涉及到的操作:進(jìn)程調(diào)度、內(nèi)存管理、文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程通信等等這些;本質(zhì)上內(nèi)核是對(duì)計(jì)算機(jī)硬件的抽象。

這樣說(shuō)是因?yàn)檫@里涉及到一個(gè)更根本的問(wèn)題:人機(jī)交互。如何讓計(jì)算機(jī)理解人的想法,需求,并將之實(shí)現(xiàn)。

比如:讓計(jì)算機(jī)計(jì)算一下硬盤(pán)中的一個(gè)文檔的字?jǐn)?shù)。我們是沒(méi)有辦法去打開(kāi)“硬盤(pán)”翻箱倒柜找到這個(gè)文件,然后丟給“CPU”去統(tǒng)計(jì),并從“CPU”那里得到這個(gè)結(jié)果。對(duì)于計(jì)算機(jī)內(nèi)部真正的核心組成部分:CPU、硬盤(pán)、內(nèi)存等等這些硬件,人是無(wú)法直接去面對(duì)和交互的。而計(jì)算機(jī)處理的所有工作,都是通過(guò)調(diào)用這些硬件設(shè)備來(lái)完成的。

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

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

?內(nèi)核空間和用戶空間:

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

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

圖片來(lái)自參考。

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

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

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

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

再簡(jiǎn)單一點(diǎn),文件系統(tǒng)不是文件,是用來(lái)管理文件的的一種數(shù)據(jù)結(jié)構(gòu),它本身也是可以保存數(shù)據(jù)之類的,比如下面說(shuō)到的root文件系統(tǒng),它就存儲(chǔ)了系統(tǒng)的根目錄和根文件系統(tǒng)中的數(shù)據(jù)和文件。

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

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

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

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

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

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

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

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

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

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

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

root 文件系統(tǒng)是 Linux 系統(tǒng)的核心,它包含了系統(tǒng)的啟動(dòng)代碼、系統(tǒng)配置文件、系統(tǒng)運(yùn)行所需的命令和文件等。因此,一旦 root 文件系統(tǒng)被損壞或破壞,可能會(huì)導(dǎo)致整個(gè)系統(tǒng)無(wú)法運(yùn)行。因此,在維護(hù) Linux 系統(tǒng)時(shí),通常需要小心謹(jǐn)慎地操作 root 文件系統(tǒng)。

root 文件系統(tǒng)和 rootfs 文件系統(tǒng)是不同的,盡管它們?cè)谀承┓矫嬗邢嗨浦帯?/p>

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

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

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

三:docker

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

1:docker鏡像

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

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

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

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

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

?2:docker鏡像的分層存儲(chǔ)

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

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

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

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

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

?3:容器

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

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

鏡像(Image)和容器(Container)的關(guān)系,就像是面向?qū)ο蟪绦蛟O(shè)計(jì)中的??和?實(shí)例?一樣,鏡像是靜態(tài)的定義,容器是鏡像運(yùn)行時(shí)的實(shí)體。再做個(gè)類比,鏡像就是代碼,容器就是代碼運(yùn)行起來(lái)的進(jìn)程。(僅作類比)

a:容器 = 鏡像 + 可讀可寫(xiě)層

?圖片來(lái)源于:Docker系列學(xué)習(xí)(14) -- 容器內(nèi)鏡像分層詳解 - 掘金 (juejin.cn)

這個(gè)讀寫(xiě)層可以讀取下面鏡像層的內(nèi)容,但是,是只能讀不能寫(xiě)的!!!!!

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

?

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

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

?

?

?

?

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

?

4:通過(guò)docker commit命令來(lái)理解鏡像的構(gòu)成

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

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

?

?這里我們可以看到,容器的這個(gè)讀寫(xiě)層,實(shí)際上最開(kāi)始的時(shí)候,是直接讀取的鏡像保存的東西;但其實(shí)不是簡(jiǎn)單的讀取!后面會(huì)細(xì)說(shuō)!

?

?這樣看上去我們修改了鏡像的內(nèi)容,實(shí)際上是沒(méi)有的,我們永遠(yuǎn)要記住,鏡像是只讀的!!

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

其實(shí)是:參考自:Docker系列學(xué)習(xí)(14) -- 容器內(nèi)鏡像分層詳解 - 掘金 (juejin.cn)

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

這里還要提一下對(duì)容器層刪除文件的操作,上面也說(shuō)了,容器層的文件是從鏡像層copy來(lái)的,刪除的時(shí)候刪除copy的文件,但如果沒(méi)有拷貝的文件,就會(huì)生成了一條刪除記錄,記錄在without文件中,并屏蔽對(duì)該鏡像層中這個(gè)文件的讀取

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

?同時(shí),當(dāng)我們運(yùn)行一個(gè)容器的時(shí)候(如果不使用卷的話),我們做的任何文件修改都會(huì)被記錄于容器存儲(chǔ)層里。這樣,上層的鏡像內(nèi)容就會(huì)覆蓋底層的鏡像內(nèi)容,看上去就像是修改了底層鏡像內(nèi)容一樣,實(shí)際上底層鏡像內(nèi)容并沒(méi)有動(dòng)

這里我們通過(guò)commit理解了鏡像的生成,但實(shí)際上我們很少直接用commit來(lái)生成鏡像,因?yàn)閏ommit'是一個(gè)黑箱操作,他會(huì)帶來(lái)很多無(wú)關(guān)的內(nèi)容。而且很多操作是不可知的;另外,因?yàn)槲覀冋f(shuō)了,這樣的方式是不會(huì)修改之前層的,我們只會(huì)在當(dāng)前的容器可讀可寫(xiě)層記錄之前層文件的添加,修改之類的,所以會(huì)讓鏡像不斷的臃腫。

5:利用dockfile定制鏡像

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

從剛才的?docker commit?的學(xué)習(xí)中,我們可以了解到,鏡像的定制實(shí)際上就是定制每一層所添加的配置、文件。如果我們可以把每一層修改、安裝、構(gòu)建、操作的命令都寫(xiě)入一個(gè)腳本,用這個(gè)腳本來(lái)構(gòu)建、定制鏡像,那么之前提及的無(wú)法重復(fù)的問(wèn)題、鏡像構(gòu)建透明性的問(wèn)題、體積的問(wèn)題就都會(huì)解決。這個(gè)腳本就是 Dockerfile。?

Dockerfile 是一個(gè)文本文件,其內(nèi)包含了一條條的?指令(Instruction),每一條指令構(gòu)建一層,因此每一條指令的內(nèi)容,就是描述該層應(yīng)當(dāng)如何構(gòu)建。

?拿上面的例子來(lái)舉例:

6:基礎(chǔ)鏡像

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

在dockfile中,from用于指定基礎(chǔ)鏡像,我們說(shuō)用dockfile來(lái)定制鏡像,那一定是以一個(gè)鏡像為基礎(chǔ),在其上進(jìn)行定制。就像我們之前運(yùn)行了一個(gè)?nginx?鏡像的容器,再進(jìn)行修改一樣,基礎(chǔ)鏡像是必須指定的。因此一個(gè)?Dockerfile?中?FROM?是必備的指令,并且必須是第一條指令。

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

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

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

如果你以?scratch?為基礎(chǔ)鏡像的話,意味著你不以任何鏡像為基礎(chǔ),接下來(lái)所寫(xiě)的指令將作為鏡像第一層開(kāi)始存在。

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

7:dockfile的RUN命令?

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

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

?這里可以很好的說(shuō)明為什么commit會(huì)造成鏡像臃腫,像這里的命令一樣,每一個(gè)RUN就是一層鏡像,但我們的最終目標(biāo)其實(shí)就是最后的一個(gè)RUN,而中間的RUN其實(shí)就是寫(xiě)編譯軟件呀,或者編譯過(guò)程的中間文件,這些文件其實(shí)是不需要的,但是這里的RUN和commit一樣都保存下來(lái)了,所以會(huì)讓鏡像越來(lái)越臃腫。

?8:docker build建立鏡像

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

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

http://aloenet.com.cn/news/44915.html

相關(guān)文章:

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