版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Docker容器技術(shù)與應(yīng)用湖北輕工職業(yè)技術(shù)學(xué)院Docker鏡像管理和定制項(xiàng)目2項(xiàng)目背景在正常情況下,docker有一個(gè)默認(rèn)連接的國(guó)外官方鏡像,在國(guó)外的用戶(hù)訪問(wèn)該官方鏡像自然不成問(wèn)題,但是國(guó)內(nèi),由于國(guó)情不同,中國(guó)的網(wǎng)絡(luò)訪問(wèn)國(guó)外官方鏡像網(wǎng)速一向很慢,而且往往還會(huì)遭遇斷網(wǎng)的窘境,所以對(duì)于國(guó)內(nèi)的用戶(hù),要想正常使用docker的鏡像,就不得不配置相應(yīng)的國(guó)內(nèi)鏡像。Docker鏡像管理和定制項(xiàng)目2鏡像是Docker的核心技術(shù)之一,是創(chuàng)建Docker容器的基礎(chǔ)模板。本項(xiàng)目通過(guò)3個(gè)任務(wù)介紹鏡像的基本概念和圍繞鏡像這一核心概念的具體操作,包括如何使用pull命令獲取鏡像、如何查看本地已有的鏡像信息和管理鏡像、如何創(chuàng)建用戶(hù)定制的鏡像,以及如何創(chuàng)建私有倉(cāng)庫(kù)。項(xiàng)目二:Docker鏡像管理和定制目錄任務(wù)2.1、查看和管理Docker鏡像任務(wù)2.2、創(chuàng)建和使用私有倉(cāng)庫(kù)任務(wù)2.3、創(chuàng)建定制的Docker鏡像查看和管理Docker鏡像回顧1、了解鏡像的基本概念。2、掌握鏡像的常用操作命令。查看和管理Docker鏡像回顧知識(shí)目標(biāo)了解倉(cāng)庫(kù)的基本概念。掌握鏡像倉(cāng)庫(kù)的構(gòu)建方法。能力目標(biāo)掌握鏡像倉(cāng)庫(kù)的使用方法。掌握私有倉(cāng)庫(kù)的創(chuàng)建方法。素質(zhì)目標(biāo)樹(shù)立責(zé)任擔(dān)當(dāng)。培養(yǎng)安全意識(shí)。工程師小王編寫(xiě)完Docker鏡像基礎(chǔ)操作手冊(cè)后,發(fā)現(xiàn)鏡像操作手冊(cè)中所用的鏡像均基于DockerHub公共倉(cāng)庫(kù),在實(shí)際應(yīng)用過(guò)程中存在與實(shí)際需求有差異的問(wèn)題。因此,小王決定鉆研私有倉(cāng)庫(kù),并完成構(gòu)建私有倉(cāng)庫(kù)的工作。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)任務(wù)要求2.2任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)2.2鏡像、容器、倉(cāng)庫(kù)的關(guān)系相關(guān)知識(shí)圖2.1鏡像、容器、倉(cāng)庫(kù)的關(guān)系
Docker鏡像倉(cāng)庫(kù)Docker鏡像倉(cāng)庫(kù)(DockerRegistry)作為Docker的重要核心組件,主要負(fù)責(zé)存儲(chǔ)、管理和分發(fā)Docker鏡像。鏡像可以根據(jù)業(yè)務(wù)需求的不同以不同類(lèi)型的形式存在。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Docker鏡像倉(cāng)庫(kù)
鏡像倉(cāng)庫(kù)是集中存放鏡像的地方,分為公共倉(cāng)庫(kù)和私有倉(cāng)庫(kù)。倉(cāng)庫(kù)注冊(cè)服務(wù)器(Registry)是存放倉(cāng)庫(kù)的地方,一個(gè)DockerRegistry中可私有以包含多個(gè)倉(cāng)庫(kù),各個(gè)倉(cāng)庫(kù)根據(jù)不同的標(biāo)簽和鏡像名管理各種Docker鏡像。
一個(gè)鏡像倉(cāng)庫(kù)中可以包含同一個(gè)軟件的不同鏡像,利用標(biāo)簽進(jìn)行區(qū)別??梢岳?lt;倉(cāng)庫(kù)名>:<標(biāo)簽>的格式來(lái)指定相關(guān)軟件鏡像的版本。例如,centos:6.5和centos:7.2代表鏡像名為centos,利用標(biāo)簽6.5和7.0來(lái)區(qū)分版本。如果忽略標(biāo)簽,則默認(rèn)會(huì)使用latest進(jìn)行標(biāo)記。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Docker鏡像倉(cāng)庫(kù)倉(cāng)庫(kù)名通常以?xún)啥温窂叫问匠霈F(xiàn),以斜杠為分隔符,可包含可選的主機(jī)名前綴。主機(jī)名必須符合標(biāo)準(zhǔn)的DNS規(guī)則,不能包含下畫(huà)線(xiàn)。如果存在主機(jī)名,則可以在其后加一個(gè)端口號(hào),反之,使用默認(rèn)的Docker公共倉(cāng)庫(kù)。例如,hbliti/nginx:version1.0.test表示倉(cāng)庫(kù)名為hbliti、鏡像名為nginx、標(biāo)簽名為version1.0.test的鏡像。如果要將鏡像推送到一個(gè)私有的Registry,而不是公共的DockerRegistry,則必須指定一個(gè)Registry的主機(jī)名和端口來(lái)標(biāo)記此鏡像,如03:5000/nginx:version1.1.test。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Docker公共倉(cāng)庫(kù)DockerHub是默認(rèn)的DockerRegistry,由Docker公司維護(hù),其中擁有大量高質(zhì)量的官方鏡像,供用戶(hù)免費(fèi)上傳、下載和使用。但也有提供收費(fèi)服務(wù)的Registry。公共倉(cāng)庫(kù)DockerHub具有以下特點(diǎn)。(1)數(shù)量大、種類(lèi)多。(2)穩(wěn)定、可靠、干凈。(3)倉(cāng)庫(kù)名稱(chēng)前沒(méi)有命名空間。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Docker公共倉(cāng)庫(kù)由于跨地域訪問(wèn)和源地址不穩(wěn)定等原因,國(guó)內(nèi)在訪問(wèn)DockerHub時(shí),存在訪問(wèn)速度比較慢且容易報(bào)錯(cuò)的問(wèn)題,可以通過(guò)配置Docker鏡像加速器來(lái)解決這個(gè)問(wèn)題,加速器表示鏡像代理,只代理公共鏡像。通過(guò)配置Docker鏡像加速器可以直接從國(guó)內(nèi)的地址下載DockerHub的鏡像,比直接從官方網(wǎng)站下載快得多。國(guó)內(nèi)常用的鏡像加速器有中科大、阿里云和DaoCloud等。常用的配置鏡像加速器的方法有兩種:一種是手動(dòng)運(yùn)行命令,另一種是手動(dòng)配置Docker鏡像加速器。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Docker公共倉(cāng)庫(kù)這里以在RedHat8中配置阿里云鏡像加速器為例進(jìn)行介紹,登錄阿里云的鏡像站,找到專(zhuān)屬的鏡像加速器地址,如圖2-2所示。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2圖2-2阿里云專(zhuān)屬的鏡像加速器地址Docker公共倉(cāng)庫(kù)任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2{"registry-mirrors":[""]}針對(duì)Docker客戶(hù)端版本大于1.10.0的用戶(hù),可以通過(guò)創(chuàng)建或修改Daemon配置文件/etc/docker/daemon.json來(lái)使用加速器,配置內(nèi)容如下。鏡像加速器配置完成后,需重啟Docker服務(wù)。#systemctldaemon-reload#systemctlrestartdockerDocker私有倉(cāng)庫(kù)Docker公有倉(cāng)庫(kù)雖然優(yōu)點(diǎn)有很多,但是也存在一些問(wèn)題。例如,公司企業(yè)級(jí)的一些私有鏡像,由于鏡像涉及一些機(jī)密的數(shù)據(jù)和軟件,私密性比較強(qiáng),因此不太適合放在公有倉(cāng)庫(kù)中。此外,出于安全考慮,一些公司不允許公司內(nèi)網(wǎng)服務(wù)器環(huán)境訪問(wèn)外網(wǎng),因此無(wú)法下載到公有倉(cāng)庫(kù)的鏡像。為了解決這些問(wèn)題,可以根據(jù)需要搭建私有倉(cāng)庫(kù),存儲(chǔ)私有鏡像。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Docker私有倉(cāng)庫(kù)私有倉(cāng)庫(kù)具有以下特點(diǎn)。(1)安全性和私密性高??梢员Wo(hù)企業(yè)內(nèi)部的鏡像不被外部訪問(wèn),從而避免敏感數(shù)據(jù)泄露。通過(guò)設(shè)置訪問(wèn)權(quán)限,可以確保只有授權(quán)用戶(hù)才能訪問(wèn)和操作私有倉(cāng)庫(kù)中的鏡像。(2)訪問(wèn)速度快??梢酝耆刂歧R像的存儲(chǔ)、分發(fā)和管理過(guò)程,滿(mǎn)足特定的業(yè)務(wù)需求??梢愿鶕?jù)實(shí)際需要自定義鏡像的構(gòu)建、發(fā)布和更新流程。(3)自主控制、方便存儲(chǔ)和可維護(hù)性高??梢詼p少鏡像下載和上傳的延遲,特別是在內(nèi)部網(wǎng)絡(luò)環(huán)境中,可以顯著提高開(kāi)發(fā)、測(cè)試和部署的效率。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Docker私有倉(cāng)庫(kù)常見(jiàn)搭建Docker私有倉(cāng)庫(kù)的方法有利用Registry和Harbor兩種形式。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Registry私有倉(cāng)庫(kù)Registry私有倉(cāng)庫(kù)是用于存儲(chǔ)和分發(fā)Docker鏡像的私有服務(wù)器,它允許企業(yè)或團(tuán)隊(duì)在內(nèi)部網(wǎng)絡(luò)中管理自己的鏡像,增強(qiáng)對(duì)鏡像的控制和安全性。Registry私有倉(cāng)庫(kù)的搭建步驟如下。步驟1:正確安裝Docker,并確保Docker可正常運(yùn)行。步驟2:下載Registry的鏡像。#dockerpullregistry:latest步驟3:使用dockerrun命令運(yùn)行Registry容器,并配置相關(guān)參數(shù)以滿(mǎn)足私有倉(cāng)庫(kù)的需求。例如,運(yùn)行下列命令,利用registry:latest鏡像建立Registry容器。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Registry私有倉(cāng)庫(kù)#dockerrun-d-p5000:5000--restart=always--nameregistry-v/data/registry:/var/lib/registryregistry:latest參數(shù)說(shuō)明如下。(1)-d:表示在后臺(tái)運(yùn)行容器。(2)-p5000:5000:表示將容器的5000端口映射到宿主機(jī)的5000端口。(3)--restart=always:表示容器總是在退出時(shí)自動(dòng)重啟。(4)-v/data/registry:/var/lib/registry:表示將宿主機(jī)的/data/registry目錄掛載到容器的/var/lib/registry目錄,以便持久化存儲(chǔ)鏡像數(shù)據(jù)。(5)registry:latest:表示使用最新版本的Registry鏡像。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Registry私有倉(cāng)庫(kù)步驟4:為實(shí)現(xiàn)鏡像推送到私有倉(cāng)庫(kù),需配置/etc/docker/daemon.json文件,通過(guò)添加“insecure-registries":["<私有倉(cāng)庫(kù)地址>:5000"]”參數(shù)信息添加私有倉(cāng)庫(kù)地址。步驟5:配置完成后,通過(guò)dockerpush命令可實(shí)現(xiàn)將鏡像推送到私有倉(cāng)庫(kù),通過(guò)dockerpull命令實(shí)現(xiàn)從私有倉(cāng)庫(kù)中獲取鏡像。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Registry私有倉(cāng)庫(kù)(1)推送鏡像命令。#dockertag<本地鏡像名>:<標(biāo)簽><私有倉(cāng)庫(kù)地址>:5000/<倉(cāng)庫(kù)名>/<鏡像名>:<標(biāo)簽>#dockerpush<私有倉(cāng)庫(kù)地址>:5000/<倉(cāng)庫(kù)名>/<鏡像名>:<標(biāo)簽>(2)獲取鏡像的命令。#dockerpull<私有倉(cāng)庫(kù)地址>:5000/<倉(cāng)庫(kù)名>/<鏡像名>:<標(biāo)簽>任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Harbor私有倉(cāng)庫(kù)DockerHarbor私有倉(cāng)庫(kù)是一個(gè)由VMware公司開(kāi)源的企業(yè)級(jí)DockerRegistry項(xiàng)目,旨在幫助用戶(hù)迅速搭建一個(gè)安全、可靠且功能豐富的Docker鏡像倉(cāng)庫(kù)服務(wù),具有基于角色的訪問(wèn)控制、基于策略的鏡像復(fù)制、漏洞掃描、LDAP/AD支持、鏡像刪除和垃圾收集等強(qiáng)大功能。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Harbor私有倉(cāng)庫(kù)Harbor系統(tǒng)由以下6個(gè)組件組成,Harbor整體架構(gòu)如圖2-3所示。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2圖2-3Harbor整體架構(gòu)Harbor私有倉(cāng)庫(kù)Harbor系統(tǒng)由以下6個(gè)組件組成,Harbor整體架構(gòu)如圖2-3所示。(1)Porxy:對(duì)應(yīng)啟動(dòng)組件nginx,提供nginx反向代理服務(wù),該服務(wù)來(lái)自瀏覽器的DockerClient的不同請(qǐng)求,由Proxy分發(fā)到Harbor的Registry、UI、TokenService等組件。(2)Registry:對(duì)應(yīng)啟動(dòng)組件Registry,負(fù)責(zé)提供Docker鏡像的存儲(chǔ),以及處理Docker的push、pull等請(qǐng)求。由于Harbor需要對(duì)鏡像的訪問(wèn)做權(quán)限控制,因此Registry會(huì)將DockerClient的每次push、pull請(qǐng)求轉(zhuǎn)發(fā)到token服務(wù)以獲取一個(gè)有效的token令牌。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Harbor私有倉(cāng)庫(kù)Harbor系統(tǒng)由以下6個(gè)組件組成,Harbor整體架構(gòu)如圖2-3所示。(3)UI:對(duì)應(yīng)啟動(dòng)harbor-ui組件,主要用于利用圖形用戶(hù)界面輔助用戶(hù)管理鏡像。(4)JobServices:對(duì)應(yīng)啟動(dòng)組件harbor-jobservice,主要用于鏡像復(fù)制,本地鏡像可以被同步到遠(yuǎn)程的Harbor鏡像倉(cāng)庫(kù)。(5)LogCollector:對(duì)應(yīng)啟動(dòng)組件harbor-log,負(fù)責(zé)收集其他容器的日志并進(jìn)行日志輪轉(zhuǎn)。(6)Database:對(duì)應(yīng)啟動(dòng)組件harbor-db,負(fù)責(zé)提供數(shù)據(jù)持久化服務(wù),用于存放工程元數(shù)據(jù)、用戶(hù)數(shù)據(jù)、角色數(shù)據(jù)、同步策略以及鏡像元數(shù)據(jù)。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2Harbor私有倉(cāng)庫(kù)Harbor系統(tǒng)由以下6個(gè)組件組成,Harbor整體架構(gòu)如圖2-3所示。(3)UI:對(duì)應(yīng)啟動(dòng)harbor-ui組件,主要用于利用圖形用戶(hù)界面輔助用戶(hù)管理鏡像。(4)JobServices:對(duì)應(yīng)啟動(dòng)組件harbor-jobservice,主要用于鏡像復(fù)制,本地鏡像可以被同步到遠(yuǎn)程的Harbor鏡像倉(cāng)庫(kù)。(5)LogCollector:對(duì)應(yīng)啟動(dòng)組件harbor-log,負(fù)責(zé)收集其他容器的日志并進(jìn)行日志輪轉(zhuǎn)。(6)Database:對(duì)應(yīng)啟動(dòng)組件harbor-db,負(fù)責(zé)提供數(shù)據(jù)持久化服務(wù),用于存放工程元數(shù)據(jù)、用戶(hù)數(shù)據(jù)、角色數(shù)據(jù)、同步策略以及鏡像元數(shù)據(jù)。任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)相關(guān)知識(shí)2.2任務(wù)2.2創(chuàng)建和使用私有倉(cāng)庫(kù)任務(wù)實(shí)訓(xùn)Harbor日常操作管理2.2主機(jī)名IP地址節(jié)點(diǎn)角色regiestry0/24私有倉(cāng)庫(kù)client0/24客戶(hù)端【實(shí)驗(yàn)步驟】基礎(chǔ)環(huán)境準(zhǔn)備:本實(shí)驗(yàn)選用兩臺(tái)部署在VMware
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年建筑用料采購(gòu)談判合同
- 2026年醫(yī)療綜合服務(wù)合同
- 2025年農(nóng)產(chǎn)品溯源技術(shù)研發(fā)項(xiàng)目可行性研究報(bào)告
- 2025年電動(dòng)汽車(chē)廢棄電池回收技術(shù)可行性研究報(bào)告
- 2025年農(nóng)業(yè)智能裝備研發(fā)與應(yīng)用項(xiàng)目可行性研究報(bào)告
- 2025年新的電池技術(shù)研發(fā)項(xiàng)目可行性研究報(bào)告
- 消防共建位協(xié)議書(shū)
- 測(cè)量安全協(xié)議合同
- 肉牛收購(gòu)合同范本
- 烏雞散養(yǎng)協(xié)議書(shū)
- 2025年中共宜春市袁州區(qū)委社會(huì)工作部公開(kāi)招聘編外人員備考題庫(kù)附答案詳解
- 2026年中醫(yī)養(yǎng)生館特色項(xiàng)目打造與客流增長(zhǎng)
- 2025年社保常識(shí)測(cè)試題庫(kù)及解答
- DB33∕T 2320-2021 工業(yè)集聚區(qū)社區(qū)化管理和服務(wù)規(guī)范
- 學(xué)堂在線(xiàn) 雨課堂 學(xué)堂云 人工智能原理 章節(jié)測(cè)試答案
- GB/T 3089-2020不銹鋼極薄壁無(wú)縫鋼管
- GB/T 2878.2-2011液壓傳動(dòng)連接帶米制螺紋和O形圈密封的油口和螺柱端第2部分:重型螺柱端(S系列)
- GB/T 23331-2020能源管理體系要求及使用指南
- GB/T 21238-2016玻璃纖維增強(qiáng)塑料夾砂管
- 斯坦福手術(shù)室應(yīng)急手冊(cè)中文版
- 質(zhì)量檢測(cè)計(jì)量器具配備一覽表
評(píng)論
0/150
提交評(píng)論