




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Docker容器技術與應用
Docker概述項目1項目背景在數字化轉型的大潮中,企業對于高效、靈活且可擴展的IT架構需求日益增長。近年來,隨著云計算技術的普及與深入應用,企業數據中心正逐步從傳統架構向云原生架構轉型。云原生架構以其彈性伸縮、資源高效利用、服務自治等特性,成為支撐現代企業業務快速迭代和創新的關鍵基礎設施。在這一轉型過程中,企業面臨的一個核心挑戰是如何確保各類應用在不同基礎環境間的無縫遷移與穩定運行。傳統虛擬機雖然在一定程度上解決了資源隔離與復用的問題,但其笨重的特性、啟動速度慢以及資源消耗大等問題逐漸顯現,難以滿足現代應用對敏捷性和性能的高要求。Docker概述項目1Docker作為一款時下非常流行的平臺即服務(Pass)的開源產品,由于其使用容器技術來部署應用程序,使得開發者能夠以統一的、可移植的方式構建、運行和分發應用程序,因此在云計算領域的應用越來越廣泛。本項目通過兩個任務介紹容器技術的發展、概念及特點,以及在RHEL8.1和Windows10操作系統環境下安裝Docker的詳細步驟。知識目標了解容器技術的發展歷程。掌握Docker的基本概念和特點。能力目標熟練掌握百度、Google等搜索工具的使用方法。掌握在VmwareWorkstation中安裝RHEL8的步驟。素質目標培養團隊協作精神、樹立誠信意識。鍛煉溝通交流的能力。項目一:Docker概述目錄任務1.1、認識Dokcer技術任務1.2、熟悉Dokcer的安裝方法某公司因業務擴展,在應用的開發和部署過程中,遇到了軟件更新和發布低效、環境一致性難以保證、遷移成本太高等問題。為提升從應用開發到部署的整體效率,經研究公司認識到Docker這一開源應用容器引擎在推動持續集成方面具有顯著優勢。鑒于此,公司決定采納Docker容器技術,旨在構建一個高效、統一的研發運維持續集成環境。于是,指派工程師小王深入調研Docker技術,以推動該項目的實施。任務1.1認識Docker技術任務要求1.11.1.1Docker的發展歷程
什么是云平臺?為什么需要云平臺?云:通俗的理解就是遠程計算機,并且是一組一堆,這些遠程計算機協同工作構建出一個平臺,對用戶提供服務。計算:這是一個概念很大的名詞,可認為是對業務數據進行計算分析的算力,不過通俗意義上,計算是指構建業務系統的各種需求。平臺:將云(遠程硬件資源)和計算(遠程軟件資源)組合在一起,就形成了一個平臺,對用戶提供各種各樣的服務。
因此,云平臺有一個相對概念,那就是本地。
我們可以這樣理解:云平臺就是一個云上的平臺,為用戶提供各種各樣的遠程服務。任務1.1認識Docker技術相關知識1.11.1.1Docker的發展歷程
任務1.1認識Docker技術相關知識1.1模擬云平臺:人力資源中心提供的是服務和資源,客戶只需要按量購買即可。客戶如果不使用人力資源中心,就需要自己招聘相應的員工,簽訂勞務合同,讓自己的員工去為自己服務。但是,如果需求結束了,員工又不能隨意辭退,那么這些員工就相當于資源閑置了。而人力資源中心就是提供了資源供客戶使用,按需求按用量付費即可,用完即停止,對客戶來說資源沒有閑置。1.1.1Docker的發展歷程
為什么用云平臺?環境統一按需付費即開即用穩定性強……
國內常見云平臺:
阿里云、百度云、騰訊云、華為云、青云……
國外常見云平臺:
亞馬遜AWS、微軟Azure……任務1.1認識Docker技術相關知識1.11.1.1Docker的發展歷程
公有云:購買云服務商提供的公共服務器。
公有云是最常見的云計算部署類型。公有云資源(例如服務器和存儲空間)由第三方云服務提供商擁有和運營,這些資源通過Internet提供。在公有云中,所有硬件、軟件和其他支持性基礎結構均為云提供商所擁有和管理。MicrosoftAzure是公有云的一個示例。
在公有云中,你與其他組織或云“租戶”共享相同的硬件、存儲和網絡設備,并且你可以使用Web瀏覽器訪問服務和管理帳戶。公有云部署通常用于提供基于Web的電子郵件、網上辦公應用、存儲以及測試和開發環境。任務1.1認識Docker技術相關知識1.11.1.1Docker的發展歷程
公有云優勢:成本更低:無需購買硬件或軟件,僅對使用的服務付費。無需維護:維護由服務提供商提供。近乎無限制的縮放性:提供按需資源,可滿足業務需求。高可靠性:具備眾多服務器,確保免受故障影響。任務1.1認識Docker技術相關知識1.11.1.1Docker的發展歷程
私有云:自己搭建云平臺,或者購買。私有云由專供一個企業或組織使用的云計算資源構成。私有云可在物理上位于組織的現場數據中心,也可由第三方服務提供商托管。但是,在私有云中,服務和基礎結構始終在私有網絡上進行維護,硬件和軟件專供組織使用。這樣,私有云可使組織更加方便地自定義資源,從而滿足特定的IT需求。私有云的使用對象通常為政府機構、金融機構以及其他具備業務關鍵性運營且希望對環境擁有更大控制權的中型到大型組織。任務1.1認識Docker技術相關知識1.11.1.1Docker的發展歷程私有云優勢:靈活性更強:組織可自定義云環境以滿足特定業務需求。控制力更強:資源不與其他組織共享,因此能獲得更高的控制力以及更高的隱私級別。可伸縮性更強:與本地基礎結構相比,私有云通常具有更強的可伸縮性。任務1.1認識Docker技術相關知識1.11.1.1Docker的發展歷程
信息技術的飛速發展,促使人類進入云計算時代,云計算時代下孕育出眾多的云計算平臺。但眾多的云平臺之間標準規范不統一,每個云平臺都有各自獨立的資源管理策略、網絡映射策略和內部依賴關系,導致各個平臺無法做到相互兼容、相互連接。同時,應用的規模愈發龐大、邏輯愈發復雜,任何一款產品都無法順利地從一個云平臺“遷移”到另外一個云平臺。任務1.1認識Docker技術相關知識1.11.1.1Docker的發展歷程
Docker利用容器技術彌合了各個云平臺之間的差異,Docker通過容器來打包應用、解耦應用和運行平臺。在進行遷移的時候,只需要在新的服務器上啟動需要的容器即可,而所付出的成本代價是極低的。Docker最初是dotCloud公司的創始人SolomonHykes所帶領的團隊發起的,其主要項目代碼在GitHub上進行維護。任務1.1認識Docker技術相關知識1.11.1.2Docker的概念與特點1.Docker的定義
Docker是以Docker容器為資源分割和調度的基本單位,封裝整個軟件運行時環境,為開發者和系統管理員設計,用于構建、發布和運行分布式應用的平臺。它是一個跨平臺、可移植且簡單易用的容器解決方案。Docker的源代碼托管在GitHub上,基于Go語言開發,并遵從Apache2.0協議。Docker可在容器內部快速自動化地部署應用,并通過操作系統內核技術(namespace、CGroups等)為容器提供資源隔離與安全保障。任務1.1認識Docker技術相關知識1.11.1.2Docker的概念與特點2.容器
容器是一種基礎工具;泛指任何可以用于容納其他物品的工具,可以部分或完全封閉,被用于容納、儲存、運輸物品;物體可以被放置在容器中,而容器則可以保護內容物;比如:瓶、罐、桶、袋等。任務1.1認識Docker技術相關知識1.11.1.2Docker的概念與特點3.Docker的特點
輕量級、可移植的:Docker借鑒集裝箱運貨物的思想,讓開發人員將應用程序及其依賴打包到一個輕量級、可移植的容器中,然后發布到任何運行Docker容器引擎的環境中,以容器方式來運行該應用程序。標準化平臺:Docker為應用程序的開發、發布和運行提供一個基于容器的標準化平臺。容器運行的是應用程序,Docker平臺用來管理容器的整個生命周期。可伸縮服務:Docker具有為用戶提供在各種平臺上安全可靠地部署可伸縮服務的能力。任務1.1認識Docker技術相關知識1.11.1.2Docker的概念與特點Docker本身并不是容器,它是創建容器的工具,是應用容器引擎。口號1:“Build,ShipandRun”(搭建、發送、運行)任務1.1認識Docker技術相關知識1.1即“搭建、發送、運行”1.1.2Docker的概念與特點例如:在A地有一棟房子,現需要在B地蓋一棟一模一樣的房子。任務1.1認識Docker技術相關知識1.1A地B地傳統的作法:在B地利用與A地建房圖紙新建一棟一模一樣的房子任務1.1認識Docker技術相關知識1.1利用魔法,把蓋好的房子復制一份,做成“鏡像”,放在背包里1.1.2Docker的概念與特點任務1.1認識Docker技術相關知識1.1利用魔法,在B地找一片空地,就用這個“鏡像”,復制一套房子,擺在那邊,拎包入住。口號2:“Build?once,Run?anywhere(搭建一次,到處能用)”。Docker技術的三大核心概念,分別是:鏡像(Image)容器(Container)倉庫(Repository)如上例:放在背包里的“鏡像”,就是Docker鏡像,而背包,就是Docker倉庫,在B地用魔法造好的房子,就是一個Docker容器。任務1.1認識Docker技術相關知識1.11.1.2Docker的概念與特點4.優點(1)更快的交付和部署開發人員在本地編寫應用程序代碼,通過Docker與同事進行共享。通過Docker將應用程序推送到測試環境中,執行自動測試和手動測試。開發人員發現程序錯誤時,可以在開發環境中進行修復,然后重新部署到測試環境來進行測試和驗證。完成應用程序測試之后,向客戶提供補丁程序非常簡單,只需將更新后的鏡像推送到生產環境中。任務1.1認識Docker技術相關知識1.11.1.2Docker的概念與特點4.優點(2)高效的資源利用和隔離(3)環境標準化和版本控制(4)更輕松的遷移和擴展(5)更簡單的維護和更新管理任務1.1認識Docker技術相關知識1.11.1.2Docker的概念與特點5.Docker的用途(1)簡化配置(2)代碼管理化管理(3)開發人員的生產化(4)隔離應用(5)整合服務器(6)調試能力(7)多租戶環境(8)快速部署任務1.1認識Docker技術相關知識1.11.1.2Docker的概念與特點實訓目的(1)能夠熟練使用百度、Google等搜索工具。(2)掌握在VmwareWorkstation中安裝RHEL8的步驟。實訓內容(1)通過搜索工具,了解Docker的發展歷程、概念、特點。(2)利用VmwareWorkstation工具,完成RHEL8的安裝。任務1.1認識Docker技術項目實訓搭建RedHatEnterpriseLinux(RHEL)8.1運行環境1.1準備安裝環境(1)創建虛擬機(2)在虛擬機中安裝RHEL操作系統(3)禁用防火墻與Selinux(4)設置網絡系統(5)設置主機名(6)確認日期時間設置正確任務1.1認識Docker技術項目實訓搭建RedHatEnterpriseLinux(RHEL)8.1運行環境1.1ThankYOU!Docker容器技術與應用湖北輕工職業技術學院Docker概述項目1Docker是時下流行的容器技術,在云計算領域應用廣泛。本項目通過兩個任務,主要介紹容器技術的發展及其應用,以及Docker在RHEL8.1和Windows操作系統中安裝的詳細步驟。知識目標掌握Docker與傳統虛擬機的區別。掌握Docker的應用。能力目標掌握在RHEL8.1中安裝Docker的步驟掌握在Windows中安裝Docker的步驟掌握Docker容器啟動和驗證的基本方法素質目標培養自主鉆研的工匠精神。樹立誠信意識。項目一:Docker概述目錄任務1.1、認識Dokcer技術任務1.2、熟悉Dokcer的安裝方法任務1.1、認識Dokcer技術回顧1、為什么需要云平臺2、公有云與私有云的區別及優缺點3、為什么會出現docker4、docker的定義、核心概念、優點工程師小王完成對Docker技術的調研后,公司安排小王編寫Docker的安裝手冊,供公司相關技術人員學習,以便在公司內部推廣該技術。任務1.2熟悉Docker的安裝方法任務要求1.2調研Docker與傳統虛擬機的區別
傳統虛擬機運行在宿主機之上,具有完整的操作系統。其自身的內存管理通過相關的虛擬設備進行支持。在虛擬機中,可為用戶操作系統和虛擬機管理程序分配有效的資源,從而在單臺主機上并行運行一個或多個操作系統的多個實例。每個客戶操作系統都作為主機系統中的單個實體運行,但會占用較多的CPU、內存、硬盤資源。圖1-1傳統虛擬機架構任務1.2熟悉Docker的安裝方法相關知識1.2調研Docker與傳統虛擬機的區別
圖1-1傳統虛擬機架構任務1.2熟悉Docker的安裝方法相關知識1.2虛擬化技術:基礎鏡像GB級別創建使用稍微復雜隔離性強啟動速度慢移植與分享不方便……Docker不同于傳統的虛擬機,Docker容器是使用Docker引擎而不是管理程序來執行的。它只包含應用程序及依賴庫,基于Libcontainer運行在宿主機上,因此容器比虛擬機小,并且由于主機內核的共享,可以更快地啟動,具有更好的性能、更少的隔離和更好的兼容性。啟動容器只需幾秒即可完成。由于Docker輕量、資源占用少,使得Docker可以輕易地應用到構建標準化的應用中。圖1-2Docker架構任務1.2熟悉Docker的安裝方法相關知識1.2
圖1-2Docker架構任務1.2熟悉Docker的安裝方法相關知識1.2容器化技術:基礎鏡像MB級別創建簡單隔離性強啟動速度秒級移植與分享方便……資源隔離:cpu、memory資源隔離與限制訪問設備隔離與限制網絡隔離與限制用戶、用戶組隔離限制……Docker容器技術與傳統虛擬機技術的特性比較如表1-1所示特性技術容器虛擬機啟動速度秒級分鐘級性能接近原生較弱內存代價很小較多占用磁盤空間一般為MB一般為GB運行密度單機支持上千個容器一般支持幾十個容器隔離性安全隔離完全隔離遷移性優秀一般表1-1Docker容器技術與傳統虛擬機技術的特性比較任務1.2熟悉Docker的安裝方法相關知識1.2Docker引擎任務1.2熟悉Docker的安裝方法相關知識1.2圖1-3Docker引擎Docker架構Docker采用客戶端/服務器(Client/Server,C/S)架構模式,Docker架構如圖1-4所示。DockerDaemon作為服務端接收客戶端的請求,服務器端負責構建、運行和分發容器。客戶端和服務器端可以運行在同一個Host上,客戶端也可以通過Socket或RESTAPI與遠程的服務器端通信。任務1.2熟悉Docker的安裝方法相關知識1.2圖1-4Docker架構圖1-4Docker架構任務1.2熟悉Docker的安裝方法相關知識DockerDaemon可以守護進程在宿主機后臺運行,用戶并不直接與其進行交互,而是通過DockerClient間接和其通信。DockerClient以系統命令的形式存在,用戶使用Docker命令來與DockerDaemon交互。DockerDaemon接收用戶指令并與Docker共同守護進程通信。1.2Docker的核心組件Docker的核心組件包括Docker客戶端(Client)、Docker服務器(DockerDaemon)、Docker鏡像(Image)、Docker倉庫和Docker容器(Container)。1.Docker客戶端Docker客戶端通過命令行或者其他工具使用DockerAPI與Docker的守護進程通信。2.Docker服務器DockerDaemon是服務器組件,以Linux后臺服務的方式運行。3.Docker鏡像Docker鏡像就是一個只讀的模板,鏡像可以用于創建Docker容器,每一個鏡像由一系列的層組成。任務1.2熟悉Docker的安裝方法相關知識1.2Docker的核心組件
常用的生成鏡像的方法主要有以下3種:創建新鏡像下載并使用他人創建好的現成的鏡像在現有鏡像上創建新的鏡像。用戶可以將鏡像的內容和創建步驟描述在一個文本文件中,這個文件就稱為Dockerfile,通過執行“dockerbuild<docker-file>”命令可以構建出docker鏡像,后續詳細說明。任務1.2熟悉Docker的安裝方法相關知識1.24.Docker倉庫Docker倉庫類似于代碼倉庫,它是Docker集中存放鏡像文件的場所。有時候,人們會把Docker倉庫和倉庫注冊服務器(Registry)混為一談,并不嚴格區分。實際上,倉庫注冊服務器是存放倉庫的地方,其上往往存放著多個倉庫,每個倉庫集中存放某一類鏡像,往往包括多個鏡像文件,通過不同的標簽來進行區分。Docker倉庫分為公有(Public)倉庫和私有(Private)倉庫兩種形式。目前,最大的公有倉庫是DockerHub,存放了數量龐大的鏡像供用戶下載。當然,Docker也支持用戶在本地網絡中創建一個私有倉庫。當用戶創建了自己的鏡像之后,可以使用push命令將其上傳到公有或者私有倉庫中,這樣,當用戶需在另一臺主機上使用該鏡像時,只需要將鏡像從倉庫中獲取下來即可。任務1.2熟悉Docker的安裝方法相關知識1.25.Docker容器Docker利用容器來運行應用。容器是從鏡像創建的運行實例,它可以被啟動、開始、終止、刪除。容器是一個隔離環境,多個容器之間不會相互影響,以保證容器中的應用運行在一個相對安全的環境中。任務1.2熟悉Docker的安裝方法相關知識1.2Docker所用的底層技術名稱空間:Docker通過名稱空間機制為容器提供隔離的工作空間。控制組:Linux可以通過控制組設置進程使用CPU、內存和I/O資源的限額。Docker引擎正是依賴這種底層技術來限制容器使用的資源。聯合文件系統:可以將其他文件系統合并到一個聯合掛載點。聯合文件系統是實現Docker鏡像的技術基礎。Docker鏡像可以通過分層來實現繼承。容器格式:Docker引擎將名稱空間、控制組和聯合文件系統打包到一起所使用的就是容器格式。默認的容器格式是Libcontainer。
任務1.2熟悉Docker的安裝方法相關知識1.2Docker與DevOpsDevOps開發運維一體化,旨在突出軟件開發人員和運維人員的溝通合作,通過自動化流程使得軟件的構建、測試、發布更加快捷、頻繁和可靠。DevOps也是讓開發、測試和運維高效協作的流程,適合需求變化多、需要快速迭代、頻繁上線的場景。傳統開發模式涉及開發、測試和生產3個環境,需要開發、測試和運維3個團隊。多個環境和多個團隊之間的這種交互,容易出現彼此環境不一致的情況。容器對軟件及其依賴進行標準化打包,在開發和運維之間搭建了一座橋梁,旨在解決開發和運維之間的矛盾。
任務1.2熟悉Docker的安裝方法相關知識1.2Docker與DevOps傳統開發流程與容器化開發流程的比較
任務1.2熟悉Docker的安裝方法相關知識1.2圖1-5傳統開發流程與容器化開發流程的比較Docker應用現代應用程序微服務持續集成和持續部署大數據應用邊緣計算云遷移數字化轉型傳統Windows服務器應用程序的現代化
任務1.2熟悉Docker的安裝方法相關知識1.2調查國內的docker應用現狀阿里巴巴業務容器化PouchContainer大大改變了原來基于T4容器化的開發運維體系
任務1.2熟悉Docker的安裝方法相關知識1.2阿里容器鏡像服務阿里云容器服務調查國內的docker應用現狀京東業務容器化京東是全球范圍內Docker應用的大用戶之一,有數十萬個Docker容器上線運行。京東的彈性云項目在京東的業務中擔當重任,目前全部應用系統和大部分的數據庫服務都在Docker平臺上運行。京東容器數據庫系統命名為CDS底層的京東Docker容器計算平臺命名為JDOS。JDOS2.0是京東新一代的容器技術,是Docker的管理平臺,實際上京東所有的數據庫服務現在已經完運行在Docker上了。
任務1.2熟悉Docker的安裝方法相關知識1.2Docker的版本分類DockerEngineDocker企業版任務1.2熟悉Docker的安裝方法相關知識1.2Docker的版本分類
Docker的早期版本是docker-io,版本號是1.*,最新版是26.1.3。Docker從1.13版本之后采用時間線的方式作為版本號,分為DockerCE(社區版)和DockerEE(企業版)。
DockerCE(社區版)是免費提供給個人開發者和小型團體使用的,DockerEE(企業版)會提供額外的收費服務,如經過官方測試認證過的基礎設施、容器、插件等。
Docker現在改為基于YY.MM版本。DockerCE(社區版)按照stable和edge兩種方式發布,每個季度更新stable版本,每個月份更新edge版本。例如,使用基于月份的發行版本,17.03的第1版就指向17.03.0,如果有漏洞/安全修復需要發布,那么將會指向17.03.1等。
任務1.2熟悉Docker的安裝方法相關知識1.2Docker
CE所支持的平臺適合安裝DockerCE的桌面操作系統有macOs和MicrosoftWindows10,前者對應的版本為DockerDesktopforMac,后者對應的版本為DockerDesktopforWindows。適合安裝DockerCE的服務器操作系統是Linux,不同發行版本對硬件平臺架構有特定的要求。任務1.2熟悉Docker的安裝方法相關知識1.2任務1.2熟悉Docker的安裝方法Docker安裝方式大多數用戶通過Docker的軟件倉庫進行安裝,以便安裝和升級。有些用戶選擇下載軟件包手動安裝,完全手動管理升級。在測試和開發環境中,有的用戶選擇使用自動化便捷腳本安裝Docker。1.2實訓目的(1)掌握Docker在RedHat8操作系統中的安裝方法。(2)掌握Docker在Windows操作系統中的安裝方法。實訓內容(1)在RedHat操作系統中安裝Docker。(2)在Windows操作系統中安裝Docker的最新版本。任務1.2熟悉Docker的安裝方法項目實訓1.2準備安裝環境(1)創建虛擬機(2)在虛擬機中安裝RHEL8.1操作系統(3)禁用防火墻與Selinux(4)設置網絡系統(5)設置主機名(6)確認日期時間設置正確任務1.2熟悉Docker的安裝方法任務實訓在RHEL8.1中在線安裝Docker1.2設置docker倉庫(1)安裝必需的軟件包(2)設置yum源-配置dockerCE穩定版的倉庫地址任務1.2熟悉Docker的安裝方法任務實訓在RHEL8.1中在線安裝Docker1.2安裝docker
CE(1)查看docker版本(2)安裝dockerCE(3)驗證是否安裝任務1.2熟悉Docker的安裝方法任務實訓在RHEL8.1中在線安裝Docker1.2啟動并測試docker
CE(1)啟動docker(2)配置鏡像加速器(3)拉取nginx:latest鏡像,并利用nginx鏡像生成容器名為nginx01的容器(4)web訪問:“00”任務1.2熟悉Docker的安裝方法任務實訓在RHEL8.1中在線安裝Docker1.2ThankYOU!Docker容器技術與應用湖北輕工職業技術學院項目2項目背景
在正常情況下,docker有一個默認連接的國外官方鏡像,在國外的用戶訪問該官方鏡像自然不成問題,但是國內,由于國情不同,中國的網絡訪問國外官方鏡像網速一向很慢,而且往往還會遭遇斷網的窘境,所以對于國內的用戶,要想正常使用docker的鏡像,就不得不配置相應的國內鏡像。Docker鏡像管理和定制Docker鏡像管理和定制項目2鏡像是Docker的核心技術之一,是創建Docker容器的基礎模板。本項目通過3個任務介紹鏡像的基本概念和圍繞鏡像這一核心概念的具體操作,包括如何使用pull命令獲取鏡像、如何查看本地已有的鏡像信息和管理鏡像、如何創建用戶定制的鏡像,以及如何創建私有倉庫。項目二:Docker鏡像管理和定制目錄任務2.1、查看和管理Docker鏡像任務2.2、創建和使用私有倉庫任務2.3、創建定制的Docker鏡像認識和安裝Dokcer回顧1、為什么需要云平臺2、公有云與私有云的區別及優點3、為什么會出現docker4、docker的定義、核心概念、優點5、虛擬化技術與容器化技術6、docker引擎及底層技術7、Linux下在線安裝Docker知識目標了解鏡像的基本概念。掌握鏡像的常用操作命令。能力目標掌握鏡像的分層操作。掌握鏡像的基本操作。素質目標培養愛國主義。樹立民族自豪感。工程師小王編寫完Docker安裝手冊并提交后,公司安排小王繼續編寫相關技術手冊,旨在在公司內部更廣泛地推廣Docker技術的應用與實踐。小王決定編寫關于Docker鏡像管理的操作手冊,以期提供更加直觀、高效的實踐資料。任務2.1查看和管理Docker鏡像任務要求2.1Docker鏡像 Docker鏡像類似于虛擬機中的鏡像,是一個只讀的模板,也是一個獨立的文件系統,包括運行容器所需的數據。。例如,一個鏡像可以包含一個基本的操作系統環境,其中僅安裝了nginx應用或用戶需要的其他應用,可以將其稱為一個nginx鏡像。任務2.1查看和管理Docker鏡像相關知識2.1Docker鏡像鏡像在IT領域通常是一系列文件或一個磁盤驅動器的精確副本。Docker鏡像是按照docker要求定制的應用程序,就像軟件安裝包一樣。一個Docker鏡像可以包括一個應用程序以及能夠運行它的基本操作系統環境。對于linux系統而言,內核啟動后,會掛載root文件系統為其提供用戶空間支持,而docker鏡像相當于是一個root文件系統。鏡像是創建容器的基礎,是通過版本管理和增量的文件系統,docker提供了一套十分簡單的機制來創建和更新現有的鏡像。鏡像是一種輕量級、可執行的獨立軟件包,用來打包軟件運行環境和基于運行環境開發的軟件,它包含運行某個軟件所需的所有內容,包含代碼、運行庫、環境變量和配置文件。
任務2.1查看和管理Docker鏡像相關知識2.1Docker鏡像 Docker鏡像是Docker容器的靜態表示,包括Docker容器所要運行的應用代碼及運行時的配置。Docker鏡像采用分層的方式構建,每個鏡像均由一系列的“鏡像層”組成。鏡像一旦被創建就無法被修改。任務2.1查看和管理Docker鏡像相關知識2.1圖2-1Docker容器的分層結構任務2.1查看和管理Docker鏡像2.1Docker鏡像是Docker容器的靜態表示,一個運行著的docker容器是一個鏡像的實例,那如果需要修改容器鏡像的某個文件時,那就只能對處于最上層的可寫層進行變動,而不能覆蓋下面只讀層的內容。這個圖就表示了只讀層和只寫層的分層結構關系,可寫層位于底下的若干只讀層之上,運行時的所有變化,包括對數據和文件的寫和更新,都會保存在可層層中。Docker鏡像Docker鏡像采用了寫時復制(Copy-on-Write)的策略,在多個容器之間共享鏡像,每個容器在啟動的時候并不需要單獨復制一份鏡像文件,而是將所有鏡像層以只讀的方式掛載到一個掛載點,再在上面覆蓋一個可讀寫的容器層。寫時復制策略配合分層機制的應用,減少了鏡像對磁盤空間的占用和容器啟動時間。任務2.1查看和管理Docker鏡像相關知識2.1Docker鏡像采用統一文件系統對各層進行管理。統一文件系統技術能夠將不同的層整合成一個文件系統,為這些層提供一個統一的視角,這樣就隱藏了多層的存在,從用戶的角度看來,只存在一個文件系統。使用Docker的常用命令(1)獲取鏡像——鏡像倉庫中拉取或者更新指定鏡像命令格式:dockerpull[DockerRegistry地址]<鏡像名>[:<標簽名>]例如,獲取centos:latest鏡像的代碼如下。[root@master~]#dockerpullcentos:latest例如:從私有倉庫中獲取centos:latest鏡像,私有倉庫地址為0的代碼如下:[root@master~]#dockerpull0:5000/centos:latest任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(2)查看鏡像信息。
命令格式:
dockerimages[選項][<鏡像名>][:<標簽名>]dockerimages命令的常用選項如下。
①-a:列出本地所有的鏡像(含中間映像層,默認情況下,過濾掉中間映像層)。
②-f:顯示滿足條件的鏡像。
③-q:只顯示鏡像ID。
例如,列出本地鏡像的代碼如下。[root@localhost~]#dockerimages任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(2)查看鏡像信息:dockerimages
任務2.1查看和管理Docker鏡像相關知識2.1dockerimage命令顯示信息中各字段的說明如下:REPOSITORY:表示鏡像的倉庫源,也可以說是鏡像的名稱。TAG:鏡像的標簽,同一個倉庫可以有多個TAG,代表這個倉庫源的不同鏡像版本,如CENTOS倉庫源中有7.3、7.4等不同版本,可以使用REPOSITORY:TAG來定義不同的鏡像。IMAGEID:鏡像ID,可以通過dockerrespectcentos:lastest,repodigests字段就是實際鏡像id,全長64個十六進制字符,它是由哈希函數sha256對鏡像配置文件計算而來,實際它只取了dockerrespectcentos:lastest里字段id的前幾位。CREATED:鏡像創建時間。SIZE:鏡像大小。
使用Docker的常用命令(3)查找鏡像——
從DockerHub查找鏡像
命令格式:
dockersearch[選項]TERMdockersearch命令的常用選項如下。
①--automated:默認為False,即顯示automatedbuild鏡像。
②--no-trunc:默認為False,即顯示完整的鏡像描述。
③-s:列出收藏數不小于指定值的鏡像。
例如,查找鏡像名為centos的鏡像的代碼如下。[root@localhost~]#dockersearchcentos任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(3)查找鏡像:dockersearch任務2.1查看和管理Docker鏡像相關知識2.1例如:從DockerHub查找所有鏡像名包含java,并且收藏數大于10的鏡像參數說明:NAME:
鏡像倉庫源的名稱DESCRIPTION:
鏡像的描述OFFICIAL:
是否docker官方發布stars:
類似Github里面的star,表示點贊、喜歡的意思。AUTOMATED:
自動構建使用Docker的常用命令(4)標記鏡像。
dockertag:
標記本地鏡像,將其歸入某一倉庫。(標簽可以看作是別名,一個鏡像可以有多個標簽,但只能有一個ID)
命令格式:
dockertag[鏡像名]:[原標簽名][鏡像名]:[新標簽名]
例如,將centos:latest鏡像標記為centos:test鏡像。[root@localhost~]#dockertagcentos:latestcentos:test任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(4)標記鏡像:dockertag例如:將centos:latest鏡像標記位centos:test鏡像:任務2.1查看和管理Docker鏡像相關知識2.1從dockerimages命令的結果來看:本地的centos:latest鏡像沒有任何改變,只是新增了一個標簽,標簽名為centos:test使用Docker的常用命令(5)刪除鏡像。
命令格式:
dockerrmi[選項]鏡像1[鏡像2...]dockerrmi命令的常用選項如下。
①-f:強制刪除。
②--no-prune:不移除該鏡像的過程鏡像,默認是移除該鏡像的過程鏡像的。
例如,列出本地主機的所有鏡像,并刪除鏡像名為mysql:latest的鏡像的代碼如下。[root@localhost~]#
dockerrmi–f
mysql:latest //等價于dockerrmi-fmysql利用dockerrmi可以刪除不需要的鏡像,以釋放鏡像占用的磁盤空間。任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(5)刪除鏡像。
命令格式:
dockerrmi在刪除鏡像時,也可以使用鏡像ID、鏡像短ID進行刪除。例如:[root@localhost~]#
dockerrmi–f
61
或[root@localhost~]#
dockerrmi–f
b1f0940swi08882批量刪除鏡像:dockerimage–q命令進行配置任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(5)刪除鏡像。
命令格式:
dockerrmi例如:刪除所有倉庫名為ubuntu的鏡像代碼如下: [root@localhost~]#
dockerrmi–f
$(dockerimage–qubuntu)
刪除本地所有鏡像的代碼如下:[root@localhost~]#
dockerrmi–f
$(dockerimage–q)任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(5)刪除鏡像。任務2.1查看和管理Docker鏡像相關知識2.1當一個鏡像有多個標簽時,dockerrmi命令僅刪除該鏡像多個標簽中的指定標簽,不會影響鏡像文件,相當于只刪除了鏡像0e1c0c70dbc5的一個標簽。但當該鏡像只剩下一個標簽時,再使用刪除命令就會徹底刪除該鏡像。使用Docker的常用命令(5)刪除鏡像。任務2.1查看和管理Docker鏡像相關知識2.1問題:如果使用dockerrmi0e1c0c70dbc5命令,可以直接同時刪除相同鏡像的不同標簽嗎?回答:不可以(5)刪除鏡像。
任務2.1查看和管理Docker鏡像2.1問題:如果使用dockerrmiredhat命令,可以直接同時刪除相同鏡像的不同標簽嗎?(5)刪除鏡像。
任務2.1查看和管理Docker鏡像2.1問題:如果使用dockerrmiredhat命令,可以直接同時刪除相同鏡像的不同標簽嗎?回答:不可以(5)刪除鏡像。問題:如果刪除報以下錯誤,怎么辦?
任務2.1查看和管理Docker鏡像2.1(5)刪除鏡像。問題:如果刪除報以下錯誤,怎么辦?
任務2.1查看和管理Docker鏡像2.1解決辦法:先需要關閉刪除容器,再刪除鏡像。查看當前運行的容器:dockerps-a關閉容器:dockerstop$(dockerps-a-q)或dockerstopnginx01刪除容器:dockerrm$(dockerps-a-q)或dockerrm-rfnginx01刪除:nginx:latest鏡像:dockerrminginx:latest(5)刪除鏡像。鏡像可以理解為一種構建時(build-time)結構,而容器可以理解為一種運行時(run-time)結構。上圖從頂層設計層面展示了鏡像和容器間的關系。通常使用命令從某個鏡像啟動一個或多個容器。一旦容器從鏡像啟動后,二者之間就變成了互相依賴的關系,并且在鏡像上啟動的容器全部停止之前,鏡像是無法被刪除的。嘗試刪除鏡像而不停止或銷毀使用它的容器,會導致出錯。因此:刪除鏡像時,系統會先刪除指向該鏡像的所有標簽,然后刪除該鏡像本身。如果該鏡像已經被容器使用,正確的做法是先刪除依賴該鏡像的所有容器,再去刪除鏡像。
任務2.1查看和管理Docker鏡像2.1使用Docker的常用命令(6)鏡像的導入。
命令格式:dockerload——可實現鏡像的導入。語法:dockerload[OPTIONS]OPTIONS說明: --input,-i:指定導入的文件,代替STDIN。 --quiet,-q:精簡輸出信息。例如,將ubuntu.tar文件導入的代碼如下。[root@localhost~]#dockerload--inputubuntu.tar任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(7)鏡像的導出。
命令格式:dockersave—將指定鏡像保存成tar歸檔文件,即將鏡像導出。語法:dockersave[OPTIONS]IMAGE[IMAGE...]OPTIONS說明: -o:輸出到的文件例如,將ubuntu:latest鏡像導出生成ubuntu.tar文件的代碼如下。[root@localhost~]#dockersave-oubuntu.tarubuntu:latest
任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(8)上傳鏡像。
命令格式:dockerpush[鏡像名]:[標簽名]——
可將本地的鏡像上傳到鏡像倉庫,要先登陸到鏡像倉庫
例如,上傳本地鏡像centos:test至鏡像倉庫的代碼如下。[root@localhost~]#dockerpushcentos:test任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(9)查看鏡像詳細信息--獲取容器/鏡像的元數據(JSON格式)命令格式:dockerinspect[OPTIONS]NAME|ID[NAME|ID...]選項: -f指定返回值的模板文件; -s如果類型為容器,則顯示文件總大小; --type返回指定類型的JSON[root@localhost~]#dockerinspectcentos任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(9)查看鏡像詳細信息--獲取容器/鏡像的元數據(JSON格式)
[root@localhost~]#dockerinspectcentos任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(9)查看鏡像詳細信息。舉例:(1)獲取容器IP:#dockerinspect--format='{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}$CONTAINER_ID(2)獲取IP地址#dockerinspecttomcat7|grepIPAddress獲取日志路徑(3)#dockerinspect--format='{{.LogPath}}'$CONTAINER_ID1任務2.1查看和管理Docker鏡像相關知識2.1使用Docker的常用命令(10)其他鏡像命令。dockerlogin:
登陸到一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫DockerHub。dockerlogout:
登出一個Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫DockerHub。dockerbuild
命令用于使用Dockerfile創建鏡像。dockerimport:
從歸檔文件中創建鏡像。dockerhistory:
查看指定鏡像的創建歷史。任務2.1查看和管理Docker鏡像相關知識2.1鏡像命令總結:
任務2.1查看和管理Docker鏡像相關知識2.1鏡像命令總結:
任務2.1查看和管理Docker鏡像相關知識2.1實訓目的(1)掌握Docker鏡像的基本概念。(2)掌握Docker鏡像的基本操作命令。實訓內容(1)列出所有本地鏡像。。(2)拉取鏡像redhat/ubi8。(3)查看本地的鏡像列表。(4)實現鏡像的導入、導出操作。(5)構建私有倉庫。(6)將本地鏡像推送到私有倉庫中。(7)刪除本地鏡像。任務2.1查看和管理Docker鏡像項目實訓Docker鏡像常用命令的使用2.1ThankYOU!Docker容器技術與應用湖北輕工職業技術學院Docker鏡像管理和定制項目2項目背景在正常情況下,docker有一個默認連接的國外官方鏡像,在國外的用戶訪問該官方鏡像自然不成問題,但是國內,由于國情不同,中國的網絡訪問國外官方鏡像網速一向很慢,而且往往還會遭遇斷網的窘境,所以對于國內的用戶,要想正常使用docker的鏡像,就不得不配置相應的國內鏡像。Docker鏡像管理和定制項目2鏡像是Docker的核心技術之一,是創建Docker容器的基礎模板。本項目通過3個任務介紹鏡像的基本概念和圍繞鏡像這一核心概念的具體操作,包括如何使用pull命令獲取鏡像、如何查看本地已有的鏡像信息和管理鏡像、如何創建用戶定制的鏡像,以及如何創建私有倉庫。項目二:Docker鏡像管理和定制目錄任務2.1、查看和管理Docker鏡像任務2.2、創建和使用私有倉庫任務2.3、創建定制的Docker鏡像查看和管理Docker鏡像回顧1、了解鏡像的基本概念。2、掌握鏡像的常用操作命令。查看和管理Docker鏡像回顧知識目標了解倉庫的基本概念。掌握鏡像倉庫的構建方法。能力目標掌握鏡像倉庫的使用方法。掌握私有倉庫的創建方法。素質目標樹立責任擔當。培養安全意識。工程師小王編寫完Docker鏡像基礎操作手冊后,發現鏡像操作手冊中所用的鏡像均基于DockerHub公共倉庫,在實際應用過程中存在與實際需求有差異的問題。因此,小王決定鉆研私有倉庫,并完成構建私有倉庫的工作。任務2.2創建和使用私有倉庫任務要求2.2任務2.2創建和使用私有倉庫2.2鏡像、容器、倉庫的關系相關知識圖2.1鏡像、容器、倉庫的關系
Docker鏡像倉庫Docker鏡像倉庫(DockerRegistry)作為Docker的重要核心組件,主要負責存儲、管理和分發Docker鏡像。鏡像可以根據業務需求的不同以不同類型的形式存在。任務2.2創建和使用私有倉庫相關知識2.2Docker鏡像倉庫
鏡像倉庫是集中存放鏡像的地方,分為公共倉庫和私有倉庫。倉庫注冊服務器(Registry)是存放倉庫的地方,一個DockerRegistry中可私有以包含多個倉庫,各個倉庫根據不同的標簽和鏡像名管理各種Docker鏡像。
一個鏡像倉庫中可以包含同一個軟件的不同鏡像,利用標簽進行區別。可以利用<倉庫名>:<標簽>的格式來指定相關軟件鏡像的版本。例如,centos:6.5和centos:7.2代表鏡像名為centos,利用標簽6.5和7.0來區分版本。如果忽略標簽,則默認會使用latest進行標記。任務2.2創建和使用私有倉庫相關知識2.2Docker鏡像倉庫倉庫名通常以兩段路徑形式出現,以斜杠為分隔符,可包含可選的主機名前綴。主機名必須符合標準的DNS規則,不能包含下畫線。如果存在主機名,則可以在其后加一個端口號,反之,使用默認的Docker公共倉庫。例如,hbliti/nginx:version1.0.test表示倉庫名為hbliti、鏡像名為nginx、標簽名為version1.0.test的鏡像。如果要將鏡像推送到一個私有的Registry,而不是公共的DockerRegistry,則必須指定一個Registry的主機名和端口來標記此鏡像,如03:5000/nginx:version1.1.test。任務2.2創建和使用私有倉庫相關知識2.2Docker公共倉庫DockerHub是默認的DockerRegistry,由Docker公司維護,其中擁有大量高質量的官方鏡像,供用戶免費上傳、下載和使用。但也有提供收費服務的Registry。公共倉庫DockerHub具有以下特點。(1)數量大、種類多。(2)穩定、可靠、干凈。(3)倉庫名稱前沒有命名空間。任務2.2創建和使用私有倉庫相關知識2.2Docker公共倉庫由于跨地域訪問和源地址不穩定等原因,國內在訪問DockerHub時,存在訪問速度比較慢且容易報錯的問題,可以通過配置Docker鏡像加速器來解決這個問題,加速器表示鏡像代理,只代理公共鏡像。通過配置Docker鏡像加速器可以直接從國內的地址下載DockerHub的鏡像,比直接從官方網站下載快得多。國內常用的鏡像加速器有中科大、阿里云和DaoCloud等。常用的配置鏡像加速器的方法有兩種:一種是手動運行命令,另一種是手動配置Docker鏡像加速器。任務2.2創建和使用私有倉庫相關知識2.2Docker公共倉庫這里以在RedHat8中配置阿里云鏡像加速器為例進行介紹,登錄阿里云的鏡像站,找到專屬的鏡像加速器地址,如圖2-2所示。任務2.2創建和使用私有倉庫相關知識2.2圖2-2阿里云專屬的鏡像加速器地址Docker公共倉庫任務2.2創建和使用私有倉庫相關知識2.2{"registry-mirrors":[""]}針對Docker客戶端版本大于1.10.0的用戶,可以通過創建或修改Daemon配置文件/etc/docker/daemon.json來使用加速器,配置內容如下。鏡像加速器配置完成后,需重啟Docker服務。#systemctldaemon-reload#systemctlrestartdockerDocker私有倉庫Docker公有倉庫雖然優點有很多,但是也存在一些問題。例如,公司企業級的一些私有鏡像,由于鏡像涉及一些機密的數據和軟件,私密性比較強,因此不太適合放在公有倉庫中。此外,出于安全考慮,一些公司不允許公司內網服務器環境訪問外網,因此無法下載到公有倉庫的鏡像。為了解決這些問題,可以根據需要搭建私有倉庫,存儲私有鏡像。任務2.2創建和使用私有倉庫相關知識2.2Docker私有倉庫私有倉庫具有以下特點。(1)安全性和私密性高。可以保護企業內部的鏡像不被外部訪問,從而避免敏感數據泄露。通過設置訪問權限,可以確保只有授權用戶才能訪問和操作私有倉庫中的鏡像。(2)訪問速度快。可以完全控制鏡像的存儲、分發和管理過程,滿足特定的業務需求。可以根據實際需要自定義鏡像的構建、發布和更新流程。(3)自主控制、方便存儲和可維護性高。可以減少鏡像下載和上傳的延遲,特別是在內部網絡環境中,可以顯著提高開發、測試和部署的效率。任務2.2創建和使用私有倉庫相關知識2.2Docker私有倉庫常見搭建Docker私有倉庫的方法有利用Registry和Harbor兩種形式。任務2.2創建和使用私有倉庫相關知識2.2Registry私有倉庫Registry私有倉庫是用于存儲和分發Docker鏡像的私有服務器,它允許企業或團隊在內部網絡中管理自己的鏡像,增強對鏡像的控制和安全性。Registry私有倉庫的搭建步驟如下。步驟1:正確安裝Docker,并確保Docker可正常運行。步驟2:下載Registry的鏡像。#dockerpullregistry:latest步驟3:使用dockerrun命令運行Registry容器,并配置相關參數以滿足私有倉庫的需求。例如,運行下列命令,利用registry:latest鏡像建立Registry容器。任務2.2創建和使用私有倉庫相關知識2.2Registry私有倉庫#dockerrun-d-p5000:5000--restart=always--nameregistry-v/data/registry:/var/lib/registryregistry:latest參數說明如下。(1)-d:表示在后臺運行容器。(2)-p5000:5000:表示將容器的5000端口映射到宿主機的5000端口。(3)--restart=always:表示容器總是在退出時自動重啟。(4)-v/data/registry:/var/lib/registry:表示將宿主機的/data/registry目錄掛載到容器的/var/lib/registry目錄,以便持久化存儲鏡像數據。(5)registry:latest:表示使用最新版本的Registry鏡像。任務2.2創建和使用私有倉庫相關知識2.2Registry私有倉庫步驟4:為實現鏡像推送到私有倉庫,需配置/etc/docker/daemon.json文件,通過添加“insecure-registries":["<私有倉庫地址>:5000"]”參數信息添加私有倉庫地址。步驟5:配置完成后,通過dockerpush命令可實現將鏡像推送到私有倉庫,通過dockerpull命令實現從私有倉庫中獲取鏡像。任務2.2創建和使用私有倉庫相關知識2.2Registry私有倉庫(1)推送鏡像命令。#dockertag<本地鏡像名>:<標簽><私有倉庫地址>:5000/<倉庫名>/<鏡像名>:<標簽>#dockerpush<私有倉庫地址>:5000/<倉庫名>/<鏡像名>:<標簽>(2)獲取鏡像的命令。#dockerpull<私有倉庫地址>:5000/<倉庫名>/<鏡像名>:<標簽>任務2.2創建和使用私有倉庫相關知識2.2Harbor私有倉庫DockerHarbor私有倉庫是一個由VMware公司開源的企業級DockerRegistry項目,旨在幫助用戶迅速搭建一個安全、可靠且功能豐富的Docker鏡像倉庫服務,具有基于角色的訪問控制、基于策略的鏡像復制、漏洞掃描、LDAP/AD支持、鏡像刪除和垃圾收集等強大功能。任務2.2創建和使用私有倉庫相關知識2.2Harbor私有倉庫Harbor系統由以下6個組件組成,Harbor整體架構如圖2-3所示。任務2.2創建和使用私有倉庫相關知識2.2圖2-3Harbor整體架構Harbor私有倉庫Harbor系統由以下6個組件組成,Harbor整體架構如圖2-3所示。(1)Porxy:對應啟動組件nginx,提供nginx反向代理服務,該服務來自瀏覽器的DockerClient的不同請求,由Proxy分發到Harbor的Registry、UI、TokenService等組件。(2)Registry:對應啟動組件Registry,負責提供Docker鏡像的存儲,以及處理Docker的push、pull等請求。由于Harbor需要對鏡像的訪問做權限控制,因此Registry會將DockerClient的每次push、pull請求轉發到token服務以獲取一個有效的token令牌。任務2.2創建和使用私有倉庫相關知識2.2Harbor私有倉庫Harbor系統由以下6個組件組成,Harbor整體架構如圖2-3所示。(3)UI:對應啟動harbor-ui組件,主要用于利用圖形用戶界面輔助用戶管理鏡像。(4)JobServices:對應啟動組件harbor-jobservice,主要用于鏡像復制,本地鏡像可以被同步到遠程的Harbor鏡像倉庫。(5)LogCollector:對應啟動組件harbor-log,負責收集其他容器的日志并進行日志輪轉。(6)Database:對應啟動組件harbor-db,負責提供數據持久化服務,用于存放工程元數據、用戶數據、角色數據、同步策略以及鏡像元數據。任務2.2創建和使用私有倉庫相關知識2.2Harbor私有倉庫Harbor系統由以下6個組件組成,Harbor整體架構如圖2-3所示。(3)UI:對應啟動harbor-ui組件,主要用于利用圖形用戶界面輔助用戶管理鏡像。(4)JobServices:對應啟動組件harbor-jobservice,主要用于鏡像復制,本地鏡像可以被同步到遠程的Harbor鏡像倉庫。(5)LogCollector:對應啟動組件harbor-log,負責收集其他容器的日志并進行日志輪轉。(6)Database:對應啟動組件harbor-db,負責提供數據持久化服務,用于存放工程元數據、用戶數據、角色數據、同步策略以及鏡像元數據。任務2.2創建和使用私有倉庫相關知識2.2任務2.2創建和使用私有倉庫任務實訓Harbor日常操作管理2.2主機名IP地址節點角色regiestry0/24私有倉庫client0/24客戶端【實驗步驟】基礎環境準備:本實驗選用兩臺部署在VMwareWorkstation16中的RHEL8.1虛擬機作為宿主機,均已預先安裝好Dockerversion26.1.3,并與外網互通,且關閉防火墻和Selinux配置。【實驗目的】(1)掌握在RHEL8.1環境中安裝和配置Harbor私有倉庫的步驟。(2)學習如何使用Harbor管理Docker鏡像,包括上傳、下載、復制鏡像等。實驗步驟:Harbor主機1、在harbor主機上,創建/data/harbor目錄。2、配置docker-compose。3、安裝openssl軟件包,并配置文件f。4、簽發SSL證書。5、安裝harbor倉庫。6、檢測容器啟動狀態。任務2.2創建和使用私有倉庫任務實訓Harbor日常操作管理2.2實驗步驟:Harbor主機7、進入harbor工作主界面。8、創建項目。9、登錄私有倉庫。10、將鏡像推送到私有倉庫.11、在test項目中可查看到推送的nginx鏡像任務2.2創建和使用私有倉庫任務實訓Harbor日常操作管理2.2實驗步驟:Client主機1、利用dockerpull命令從私有倉庫中下載nginx鏡像任務2.2創建和使用私有倉庫任務實訓Harbor日常操作管理2.2ThankYOU!Docker容器技術與應用湖北
輕工職業技術學院Docker鏡像管理和定制項目2項目背景在正常情況下,docker有一個默認連接的國外官方鏡像,在國外的用戶訪問該官方鏡像自然不成問題,但是國內,由于國情不同,中國的網絡訪問國外官方鏡像網速一向很慢,而且往往還會遭遇斷網的窘境,所以對于國內的用戶,要想正常使用docker的鏡像,就不得不配置相應的國內鏡像。Docker鏡像管理和定制項目2鏡像是Docker的核心技術之一,是創建Docker容器的基礎模板。本項目通過3個任務介紹鏡像的基本概念和圍繞鏡像這一核心概念的具體操作,包括如何使用pull命令獲取鏡像、如何查看本地已有的鏡像信息和管理鏡像、如何創建用戶定制的鏡像,以及如何創建私有倉庫。項目二:Docker鏡像管理和定制目錄任務2.1、查看和管理Docker鏡像任務2.2、創建和使用私有倉庫任務2.3、創建定制的Docker鏡像查看和管理Docker鏡像回顧1、了解鏡像的基本概念。2、掌握鏡像的常用操作命令。3、了解倉庫的基本概念。4、掌握私有倉庫的構建及使用方法。知識目標掌握dockercommit命令構建鏡像的方法。掌握利用Dockerfile文件構建鏡像的方法。能力目標掌握dockercommit命令定制鏡像的方法。掌握dockerbuild命令定制鏡像的方法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 治理污染場地修復項目調研與實施合同
- 酒店接送車輛租賃帶專業司機服務協議
- 樂清公司拓展活動策劃方案
- 墩(臺)身施工安全專項方案
- 公司興趣協會管理制度
- 寢室隱私安全管理制度
- 區縣質控小組管理制度
- 2025年常州市九年級中考語文第二次模擬試卷附答案解析
- 公司財務移交管理制度
- 圖書產品倉庫管理制度
- (完整版)A4拼音四線格打印模板
- 2023年四川省水電投資經營集團普格電力有限公司招聘筆試題庫含答案解析
- 救護車音響電路設計及引力波的實驗探測給我們的啟示
- 2022-2023學年浙江省溫州市甌海區數學六年級第二學期期末經典試題含解析
- (完整版)高級法學英語課文翻譯
- 新六年級英語完形填空60篇(含答案和講解)
- 無人機項目融資商業計劃書
- 深靜脈置管的護理
- 食品營養學(暨南大學)智慧樹知到答案章節測試2023年
- GA 1810-2022城鎮燃氣系統反恐怖防范要求
- 人工智能導論習題答案
評論
0/150
提交評論