亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

Docker入門(mén)到實(shí)戰(zhàn)教程介紹

admin
2025年9月4日 15:15 本文熱度 665

一. Docker簡(jiǎn)介

1.1 什么是虛擬化?

在計(jì)算機(jī)中,虛擬化(英語(yǔ):Virtualization)是一種資源管理技術(shù),是將計(jì)算機(jī)的各種實(shí)體資源,如服務(wù)器、網(wǎng)絡(luò)、內(nèi)存及存儲(chǔ)等,予以抽象、轉(zhuǎn)換后呈現(xiàn)出來(lái),打破實(shí)體結(jié)構(gòu)間的不可切割的障礙,使用戶(hù)可以比原本的組態(tài)更好的方式來(lái)應(yīng)用這些資源。這些資源的新虛擬部份是不受現(xiàn)有資源的架設(shè)方式,地域或物理組態(tài)所限制。一般所指的虛擬化資源包括計(jì)算能力和資料存儲(chǔ)。

在實(shí)際的生產(chǎn)環(huán)境中,虛擬化技術(shù)主要用來(lái)解決高性能的物理硬件產(chǎn)能過(guò)剩和老的舊的硬件產(chǎn)能過(guò)低的重組重用,透明化底層物理硬件,從而最大化的利用物理硬件 對(duì)資源充分利用

虛擬化技術(shù)種類(lèi)很多,例如:軟件虛擬化、硬件虛擬化、內(nèi)存虛擬化、網(wǎng)絡(luò)虛擬化(vip)、桌面虛擬化、服務(wù)虛擬化、虛擬機(jī)等等。

1.2 什么是Docker

Docker 使用 Google 公司推出的 Go 語(yǔ)言 進(jìn)行開(kāi)發(fā)實(shí)現(xiàn),基于 Linux 內(nèi)核的 cgroup,namespace,以及 AUFS 類(lèi)的 Union FS 等技術(shù),對(duì)進(jìn)程進(jìn)行封裝隔離,屬于 操作系統(tǒng)層面的虛擬化技術(shù)。由于隔離的進(jìn)程獨(dú)立于宿主和其它的隔離的進(jìn)程,因此也稱(chēng)其為容器。最初實(shí)現(xiàn)是基于 LXC,從 0.7 版本以后開(kāi)始去除 LXC,轉(zhuǎn)而使用自行開(kāi)發(fā)的 libcontainer,從 1.11 開(kāi)始,則進(jìn)一步演進(jìn)為使用 runC 和 containerd。

Docker 在容器的基礎(chǔ)上,進(jìn)行了進(jìn)一步的封裝,從文件系統(tǒng)、網(wǎng)絡(luò)互聯(lián)到進(jìn)程隔離等等,極大的簡(jiǎn)化了容器的創(chuàng)建和維護(hù)。使得 Docker 技術(shù)比虛擬機(jī)技術(shù)更為輕便、快捷。

1.3 為什么選擇Docker?

作為一種新興的虛擬化方式,Docker 跟傳統(tǒng)的虛擬化方式相比具有眾多的優(yōu)勢(shì)。

(1)更高效的利用系統(tǒng)資源。

由于容器不需要進(jìn)行硬件虛擬以及運(yùn)行完整操作系統(tǒng)等額外開(kāi)銷(xiāo),Docker 對(duì)系統(tǒng)資源的利用率更高。無(wú)論是應(yīng)用執(zhí)行速度、內(nèi)存損耗或者文件存儲(chǔ)速度,都要比傳統(tǒng)虛擬機(jī)技術(shù)更高效。因此,相比虛擬機(jī)技術(shù),一個(gè)相同配置的主機(jī),往往可以運(yùn)行更多數(shù)量的應(yīng)用。

(2)更快速的啟動(dòng)時(shí)間

傳統(tǒng)的虛擬機(jī)技術(shù)啟動(dòng)應(yīng)用服務(wù)往往需要數(shù)分鐘,而 Docker 容器應(yīng)用,由于直接運(yùn)行于宿主內(nèi)核,無(wú)需啟動(dòng)完整的操作系統(tǒng),因此可以做到秒級(jí)、甚至毫秒級(jí)的啟動(dòng)時(shí)間。大大的節(jié)約了開(kāi)發(fā)、測(cè)試、部署的時(shí)間。

(3)一致的運(yùn)行環(huán)境

開(kāi)發(fā)過(guò)程中一個(gè)常見(jiàn)的問(wèn)題是環(huán)境一致性問(wèn)題。由于開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境不一致,導(dǎo)致有些 bug 并未在開(kāi)發(fā)過(guò)程中被發(fā)現(xiàn)。而 Docker 的鏡像提供了除內(nèi)核外完整的運(yùn)行時(shí)環(huán)境,確保了應(yīng)用運(yùn)行環(huán)境一致性,從而不會(huì)再出現(xiàn) 「這段代碼在我機(jī)器上沒(méi)問(wèn)題啊」 這類(lèi)問(wèn)題。

(4)持續(xù)交付和部署

對(duì)開(kāi)發(fā)和運(yùn)維(DevOps)人員來(lái)說(shuō),最希望的就是一次創(chuàng)建或配置,可以在任意地方正常運(yùn)行。

使用 Docker 可以通過(guò)定制應(yīng)用鏡像來(lái)實(shí)現(xiàn)持續(xù)集成、持續(xù)交付、部署。開(kāi)發(fā)人員可以通過(guò) Dockerfile 來(lái)進(jìn)行鏡像構(gòu)建,并結(jié)合 持續(xù)集成(Continuous Integration) 系統(tǒng)進(jìn)行集成測(cè)試,而運(yùn)維人員則可以直接在生產(chǎn)環(huán)境中快速部署該鏡像,甚至結(jié)合 持續(xù)部署(Continuous Delivery/Deployment) 系統(tǒng)進(jìn)行自動(dòng)部署。

而且使用 Dockerfile 使鏡像構(gòu)建透明化,不僅僅開(kāi)發(fā)團(tuán)隊(duì)可以理解應(yīng)用運(yùn)行環(huán)境,也方便運(yùn)維團(tuán)隊(duì)理解應(yīng)用運(yùn)行所需條件,幫助更好的生產(chǎn)環(huán)境中部署該鏡像。

(5)更輕松的遷移

由于 Docker 確保了執(zhí)行環(huán)境的一致性,使得應(yīng)用的遷移更加容易。Docker 可以在很多平臺(tái)上運(yùn)行,無(wú)論是物理機(jī)、虛擬機(jī)、公有云、私有云,甚至是筆記本,其運(yùn)行結(jié)果是一致的。因此用戶(hù)可以很輕易的將在一個(gè)平臺(tái)上運(yùn)行的應(yīng)用,遷移到另一個(gè)平臺(tái)上,而不用擔(dān)心運(yùn)行環(huán)境的變化導(dǎo)致應(yīng)用無(wú)法正常運(yùn)行的情況。

(6)更輕松的維護(hù)和擴(kuò)展

Docker 使用的分層存儲(chǔ)以及鏡像的技術(shù),使得應(yīng)用重復(fù)部分的復(fù)用更為容易,也使得應(yīng)用的維護(hù)更新更加簡(jiǎn)單,基于基礎(chǔ)鏡像進(jìn)一步擴(kuò)展鏡像也變得非常簡(jiǎn)單。此外,Docker 團(tuán)隊(duì)同各個(gè)開(kāi)源項(xiàng)目團(tuán)隊(duì)一起維護(hù)了一大批高質(zhì)量的 官方鏡像,既可以直接在生產(chǎn)環(huán)境使用,又可以作為基礎(chǔ)進(jìn)一步定制,大大的降低了應(yīng)用服務(wù)的鏡像制作成本。

1.4 容器與虛擬機(jī)比較

下面的圖片比較了 Docker 和傳統(tǒng)虛擬化方式的不同之處,可見(jiàn)容器是在操作系統(tǒng)層面上實(shí)現(xiàn)虛擬化,直接復(fù)用本地主機(jī)的操作系統(tǒng),而傳統(tǒng)方式則是在硬件層面實(shí)現(xiàn)。

傳統(tǒng)虛擬化
Docker

與傳統(tǒng)的虛擬機(jī)相比,Docker優(yōu)勢(shì)體現(xiàn)為啟動(dòng)速度快、占用體積小。

1.5 Docker 組件
1.5.1 Docker服務(wù)器與客戶(hù)端

Docker是一個(gè)客戶(hù)端-服務(wù)器(C/S)架構(gòu)程序。Docker客戶(hù)端只需要向Docker服務(wù)器或者守護(hù)進(jìn)程發(fā)出請(qǐng)求,服務(wù)器或者守護(hù)進(jìn)程將完成所有工作并返回結(jié)果。Docker提供了一個(gè)命令行工具Docker以及一整套R(shí)ESTful API。你可以在同一臺(tái)宿主機(jī)上運(yùn)行Docker守護(hù)進(jìn)程和客戶(hù)端,也可以從本地的Docker客戶(hù)端連接到運(yùn)行在另一臺(tái)宿主機(jī)上的遠(yuǎn)程Docker守護(hù)進(jìn)程。

docker client是一個(gè)泛稱(chēng),它可以是命令行docker,也可以是遵循了docker api規(guī)則的客戶(hù)端,簡(jiǎn)單地說(shuō)可以理解為一個(gè)用于交互/發(fā)送指令的接口。

1.5.2 Docker鏡像

鏡像是構(gòu)建Docker的基石。用戶(hù)基于鏡像來(lái)運(yùn)行自己的容器。鏡像也是Docker生命周期中的“構(gòu)建”部分。鏡像是基于聯(lián)合文件系統(tǒng)的一種層式結(jié)構(gòu),由一系列指令一步一步構(gòu)建出來(lái)。例如:

添加一個(gè)文件;
執(zhí)行一個(gè)命令;
打開(kāi)一個(gè)窗口

也可以將鏡像當(dāng)作容器的“源代碼”。鏡像體積很小,非?!氨銛y”,易于分享、存儲(chǔ)和更新。

鏡像是一個(gè)只讀的容器模板,含有啟動(dòng)docker容器所需的文件系統(tǒng)結(jié)構(gòu)及內(nèi)容 Docker以鏡像和在鏡像基礎(chǔ)上構(gòu)建的容器為基礎(chǔ),以容器開(kāi)發(fā)、測(cè)試、發(fā)布的單元將應(yīng)用相關(guān)的所有組件和環(huán)境進(jìn)行封裝,避免了應(yīng)用在不同平臺(tái)間遷移所帶來(lái)的依賴(lài)問(wèn)題,確保了應(yīng)用在生產(chǎn)環(huán)境的各階段達(dá)到高度一致的實(shí)際效果。

鏡像可以被創(chuàng)建、啟動(dòng)、關(guān)閉、重啟以及銷(xiāo)毀。

  • 分層機(jī)制

Docker的鏡像機(jī)制是有層次感的,一個(gè)鏡像可以放到另一個(gè)鏡像的頂部。位于下端的為父鏡像,以此類(lèi)推;最底部的鏡像可稱(chēng)為基礎(chǔ)鏡像。

鏡像采用分層構(gòu)建,每個(gè)鏡像由一系列的鏡像層組成, 當(dāng)需要修改容器內(nèi)的某個(gè)文件時(shí),只對(duì)處于最上方的讀寫(xiě)層進(jìn)行變動(dòng),不覆蓋下面已有文件系統(tǒng)的內(nèi)容。當(dāng)提交這個(gè)修改過(guò)的容器文件系統(tǒng)為一個(gè)新的鏡像時(shí),保存的內(nèi)容僅為最上層讀寫(xiě)文件系統(tǒng)中被更新過(guò)的文件。

  • bootfs
    主要包含bootloader和kernel, bootloader主要是引導(dǎo)加載kernel, 當(dāng)容器啟動(dòng)成功后,kernel被加載到內(nèi)存中后而引導(dǎo)文件系統(tǒng)則會(huì)被卸載unmount+ rootfs  是容器在啟動(dòng)時(shí)內(nèi)部進(jìn)程可見(jiàn)的文件系統(tǒng),通常包含一個(gè)操作系統(tǒng)運(yùn)行所需的文件系統(tǒng)

    • 傳統(tǒng)linux在內(nèi)核啟動(dòng)時(shí)首先會(huì)掛載一個(gè)只讀的rootfs,檢測(cè)器完整性之后再切換為讀寫(xiě)模式

    • docker在掛載rootfs時(shí)也將其設(shè)為只讀模式,掛載完畢后利用聯(lián)合掛載技術(shù)在已有的只讀rootfs上再掛載一個(gè)讀寫(xiě)層。

    • 只有運(yùn)行中文件系統(tǒng)發(fā)生變化,才會(huì)把變化的內(nèi)容寫(xiě)到讀寫(xiě)層,并隱藏只讀層中的老版本文件

    • rootfs包含的就是典型Linux系統(tǒng)中的 /dev,/proc,/bin, /etc等標(biāo)準(zhǔn)目錄和文件。

  • 寫(xiě)時(shí)復(fù)制

    • 可以在多個(gè)容器之間共享鏡像,每個(gè)容器啟動(dòng)時(shí)不需要單獨(dú)復(fù)制一份鏡像文件

    • 將所有鏡像層以只讀方式掛載到一個(gè)掛載點(diǎn),在上面覆蓋一個(gè)可讀寫(xiě)的容器層。

    • 寫(xiě)時(shí)復(fù)制配合分層機(jī)制減少了鏡像對(duì)磁盤(pán)空間的占用和容器啟動(dòng)時(shí)間

  • 內(nèi)容尋址

    • 根據(jù)內(nèi)容來(lái)索引鏡像和鏡像層

    • 是對(duì)鏡像層的內(nèi)容計(jì)算檢驗(yàn)和,生成一個(gè)內(nèi)容哈希值作為鏡像層的唯一標(biāo)識(shí)

    • 對(duì)于來(lái)自不同構(gòu)建的鏡像層,只要擁有相同的內(nèi)容哈希,也能被不同鏡像共享

  • 聯(lián)合掛載

    • 可以在一個(gè)掛載點(diǎn)掛載多個(gè)文件系統(tǒng),將掛載點(diǎn)的原目錄與被掛在內(nèi)容進(jìn)行整合,最終可見(jiàn)的文件系統(tǒng)將包含整合后各層的文件和目錄

    • 讀寫(xiě)層處于容器文件系統(tǒng)的最頂層,其下可能聯(lián)合掛載多個(gè)只讀層。

1.5.3 容器

Docker可以幫助你構(gòu)建和部署容器,你只需要把自己的應(yīng)用程序或者服務(wù)打包放進(jìn)容器即可。容器是基于鏡像啟動(dòng)起來(lái)的,容器中可以運(yùn)行一個(gè)或多個(gè)進(jìn)程。我們可以認(rèn)為,鏡像是Docker生命周期中的構(gòu)建或者打包階段,而容器則是啟動(dòng)或者執(zhí)行階段。容器基于鏡像啟動(dòng),一旦容器啟動(dòng)完成后,我們就可以登錄到容器中安裝自己需要的軟件或者服務(wù)。

所以Docker容器就是:

一個(gè)鏡像格式;
一些列標(biāo)準(zhǔn)操作;
一個(gè)執(zhí)行環(huán)境;

Docker借鑒了標(biāo)準(zhǔn)集裝箱的概念。標(biāo)準(zhǔn)集裝箱將貨物運(yùn)往世界各地,Docker將這個(gè)模型運(yùn)用到自己的設(shè)計(jì)中,唯一不同的是:集裝箱運(yùn)輸貨物,而Docker運(yùn)輸軟件。

和集裝箱一樣,Docker在執(zhí)行上述操作時(shí),并不關(guān)心容器中到底裝了什么,它不管是web服務(wù)器,還是數(shù)據(jù)庫(kù),或者是應(yīng)用程序服務(wù)器什么的。所有的容器都按照相同的方式將內(nèi)容“裝載”進(jìn)去。 ?

Docker也不關(guān)心你要把容器運(yùn)到何方:我們可以在自己的筆記本中構(gòu)建容器,上傳到Registry,然后下載到一個(gè)物理的或者虛擬的服務(wù)器來(lái)測(cè)試,在把容器部署到具體的主機(jī)中。像標(biāo)準(zhǔn)集裝箱一樣,Docker容器方便替換,可以疊加,易于分發(fā),并且盡量通用。

1.5.4 Registry(倉(cāng)庫(kù))

Docker用Registry來(lái)保存用戶(hù)構(gòu)建的鏡像。Registry分為公共和私有兩種。Docker公司運(yùn)營(yíng)公共的Registry叫做Docker Hub。用戶(hù)可以在Docker Hub注冊(cè)賬號(hào),分享并保存自己的鏡像(說(shuō)明:在Docker Hub下載鏡像巨慢,可以自己構(gòu)建私有的Registry)。

用戶(hù)也可以在Docker Hub上保存自己的私有鏡像。https://hub.docker.com/

參考資料:

https://www.jianshu.com/p/3bfa8d09bc8b

https://www.cnblogs.com/saryli/p/10061097.html

https://blog.csdn.net/cx55887/article/details/84667622

閱讀原文:https://blog.csdn.net/qq_34936541/article/details/104890251


該文章在 2025/9/4 15:15:16 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved