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

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

模仿京東商城網(wǎng)站開發(fā)視頻蘋果自研搜索引擎或?yàn)樘娲雀?/h1>

模仿京東商城網(wǎng)站開發(fā)視頻,蘋果自研搜索引擎或?yàn)樘娲雀?外包服務(wù)網(wǎng)站排名,阿里云學(xué)生免費(fèi)服務(wù)器目錄 鏡像倉庫:怎么用好docker hub這個(gè)寶藏 什么是鏡像倉庫(Registry) 什么是docker hub 如何在docker hub上挑選鏡像 docker hub上進(jìn)行概念股命名規(guī)則是什么 該怎么上傳自己的鏡像 離線環(huán)境該怎么辦 小結(jié) 鏡像倉庫:怎么用好docke…

目錄

鏡像倉庫:怎么用好docker?hub這個(gè)寶藏

什么是鏡像倉庫(Registry)

什么是docker?hub

如何在docker?hub上挑選鏡像

docker?hub上進(jìn)行概念股命名規(guī)則是什么

該怎么上傳自己的鏡像

離線環(huán)境該怎么辦

小結(jié)


鏡像倉庫:怎么用好docker?hub這個(gè)寶藏

好,我們繼續(xù)來說一下往后的章節(jié),上章節(jié)里面呢,我們學(xué)習(xí)了dockerfile和docker?build的用法,知道了如何創(chuàng)建自己的鏡像,那么鏡像文件應(yīng)該如何管理呢,具體來說,應(yīng)該如何存儲,檢索,分發(fā),共享鏡像呢?不解決這些問題,我們?nèi)萜骰瘧?yīng)用還是無法順利地實(shí)施。

今天,我們來談一下這個(gè)話題,聊聊什么是鏡像倉庫,還有該怎么用好鏡像倉庫。

什么是鏡像倉庫(Registry)

之前我們已經(jīng)用過docker?pull命令拉取鏡像,也說過有一個(gè)鏡像倉庫(Registry)的概念,那到底什么是鏡像倉庫呢?

還是來看看docker的官方架構(gòu)圖:

圖里右邊的區(qū)域就是鏡像倉庫,術(shù)語叫Registry,直譯是所有鏡像的Repository都在這里登記保管,就像是一個(gè)巨大的檔案館。

然后我們再來看看左邊的docker?pull,虛線顯示了它的工作流程,先到docker?daemon,再到Registry,只有當(dāng)Registry里存有鏡像才能真正把他下載到本地。

當(dāng)然了,拉取鏡像只是鏡像倉庫最基本的一個(gè)功能,他還會提供更多的功能,比如上傳,查詢,刪除等等,是一個(gè)全面的鏡像管理服務(wù)站點(diǎn)。

你也可以把鏡像倉庫比成手機(jī)上的應(yīng)用商店,里面分門別類放了許多容器化的應(yīng)用,需要什么去找一下就行了,有了它,我們使用鏡像才能免除后顧之憂。

什么是docker?hub

不過,你應(yīng)該沒有注意到,在使用docker?pull?獲取鏡像的時(shí)候我們并沒有明確指定鏡像倉庫,在這種情況下,動(dòng)車可就會使用一個(gè)默認(rèn)的鏡像倉庫,也就是大名鼎鼎的docker?hub?

https://hub.docker.com

docker?hub是docker公司搭建的官方registry服務(wù),創(chuàng)立于2014年6月,和docker?1.0同時(shí)發(fā)布,他號稱是世界上最大的鏡像倉庫,和Git?hub一樣,幾乎成為了容器世界的基礎(chǔ)設(shè)施。

docker?hub里面不僅有docker自己打包的鏡像,而且還對公眾免費(fèi)開放,任何人都可以上傳自己的作品,經(jīng)過這8年的發(fā)展,docker?hub已經(jīng)不再是一個(gè)單純的鏡像倉庫了,更應(yīng)該說是一個(gè)豐富而繁榮的容器社區(qū)

你可以看看下面的這張截圖,里面列出的都是下載量超過十億次的最受歡迎的應(yīng)用程序,比如nginx,MongoDB,node.js,Redis,openJDK,等等,顯然,把這些容器化的應(yīng)用引入到我們自己的系統(tǒng)里,就像是站在了巨人的肩膀上,一開始就會有一個(gè)高水平的起點(diǎn)

但和Github,App?Store一樣,面向所有人公開的docker?hub也有一個(gè)不可避免的缺點(diǎn),就是良莠不齊。

在docker?hub搜索框里輸入關(guān)鍵字,比如NGINX,MySQL,她立即就會給出幾百上千個(gè)搜索結(jié)果,有點(diǎn)亂花迷人眼的感覺,這么多鏡像,應(yīng)該如何挑選出最適合自己的呢?下面我們來說說自己在這方面的一些經(jīng)驗(yàn)。

如何在docker?hub上挑選鏡像

首先,你應(yīng)該知道,在docker?hub上有官方鏡像,認(rèn)證鏡像,和非官鏡像的區(qū)別

官方鏡像是指docker公司官方提供的高質(zhì)量鏡像,GitHub - docker-library/official-images: Primary source of truth for the Docker "Official Images" program

都經(jīng)過了嚴(yán)格的漏洞掃描和安全檢查,支持x86,arm64等多種硬件架構(gòu),還具有清晰易讀的文檔,一般來說使我們構(gòu)建鏡像的首選,也是我們編寫dockerfile的最佳范例

官方鏡像目前大概100多個(gè),基本上囊括了現(xiàn)在的各種流行技術(shù),下面就是官方的nginx鏡像網(wǎng)頁截圖:

你會看到,官方鏡像會有一個(gè)特殊的Official?image的標(biāo)記,這就表示這個(gè)鏡像經(jīng)過了docker公司的認(rèn)證,有專門的團(tuán)隊(duì)負(fù)責(zé)審核,發(fā)布,更新,質(zhì)量上絕對可以放心。

第二類是認(rèn)證鏡像,標(biāo)記是Verified?publisher,也就是認(rèn)證發(fā)行商,比如Bitnami,Rancher,ubuntu等,他們都是頗具規(guī)模的大公司,具有不遜于docker公司的實(shí)力,所以就在docker?hub上開了個(gè)認(rèn)證賬號,發(fā)布自己打包的鏡像,有點(diǎn)類似我們微博上的大V。

這些鏡像有公司背書,當(dāng)然也很值得信賴,不過他們難免會有戴上一些各自公司的烙印,比如Bitnami的鏡像就統(tǒng)一以minideb為基礎(chǔ),靈活性上比docker官方鏡像略差,有的時(shí)候也許會不符合我們的需求。

除了官方鏡像和認(rèn)證鏡像,剩下的就都屬于非官方鏡像了,不過這里面也可以分出兩類。

第一類是“半官網(wǎng)”鏡像,因?yàn)槌蔀閂erified?publisher?是要給docker公司交錢的,而很多公司不想花這個(gè)冤枉錢,所以只在docker?hub上開了公司賬號,但并不加入認(rèn)證

這里我以openresty為例,看一下它的docker?hub頁面,可以看到顯示的是openresty官方發(fā)布的,但并沒有經(jīng)過docker正式認(rèn)證,所以難免就會存在一些風(fēng)險(xiǎn),有被冒名頂替的可能,需要我們在使用的時(shí)候留心鑒別一下,不過一般來說,這種辦官方鏡像也是比較可靠的

第二類就是純粹的民間鏡像了,通常是個(gè)人上傳到docker?hub的,因?yàn)闂l件有限,測試不完全甚至沒有測試,質(zhì)量上難得以保證,下載的時(shí)候需要小心謹(jǐn)慎。

除了查看鏡像是否為官方認(rèn)證,我們還可以再結(jié)合其他的條件來判斷鏡像質(zhì)量是否足夠好,做法和GitHub差不多,就是看它的下載量,星數(shù),還有更新歷史,簡單的來說就是好評數(shù)量

一般來說下載量是最重要的參考依據(jù),好的鏡像下載量通常都在百萬級別(超過1M)而有的鏡像雖然也是官方認(rèn)證,但缺乏維護(hù),更新不及時(shí),用的人很少,星數(shù),下載數(shù)都寥寥無幾,那么還是應(yīng)該選擇下載量最多的鏡像,通俗來說就是隨大流

下面這張截圖就是openresty在docker?hub上的搜索結(jié)果,可以看到,有兩個(gè)認(rèn)證發(fā)行商的鏡像(Bitnami?,?IBM),但是下載量都很少,還有一個(gè)民間鏡像下載量雖然超過了1M,但更新時(shí)間是三年前,所以毫無疑問,我們應(yīng)該選擇排在前三位,但下載量超過10m,有360多個(gè)星的半官方鏡像

看了這么多docker?hub上的鏡像,你一定注意到了,應(yīng)用都是一樣的名字,比如都是NGINX,redis,openresty,該怎么區(qū)分不同作者打包出的鏡像呢?

如果你很熟悉GitHub,就會發(fā)現(xiàn)docker?hub也使用了同樣的規(guī)則,就是用戶名/應(yīng)用名的形式,比如bitnami/nginx、ubuntu/nginx、rancher/nginx等等

所以,我們在使用docker?pull下載這些非官方鏡像的時(shí)候,就必須把用戶名也帶上,否則默認(rèn)就會使用官方鏡像:

docker?pull?bitnami/nginx

docker?pull?ubuntu/nginx?

docker?hub上進(jìn)行概念股命名規(guī)則是什么

確定了這個(gè)鏡像還不夠,因?yàn)殓R像還會有許多不同的版本,也就是標(biāo)簽(tag)

直接使用默認(rèn)的latest雖然簡單方便,但在生產(chǎn)環(huán)境里是一種非常不負(fù)責(zé)任的做法,會導(dǎo)致版本不可控,所以我們還需要理解dockerhub標(biāo)簽命名的含義,才能挑選出最適合我們自己的鏡像版本。

下面我就那官方的redis鏡像作為例子,解釋一下這些標(biāo)簽都是什么意思

通常來說,鏡像標(biāo)簽的格式是應(yīng)用的版本號加上操作系統(tǒng),

版本號你應(yīng)該比較了解吧,及把他那都是主版本號+次版本號+補(bǔ)丁號的形式,有的還會在正式發(fā)布前出rc版(候選版本,release?candidate),而操作系統(tǒng)的情況略微復(fù)雜一些,應(yīng)為各個(gè)Linux發(fā)型版的命名方式太多了

alpine,centos的命令比較簡單明了,就是數(shù)字的版本號,像這里的alpine3.15.而ubuntu、Debian則才用了代號的形式,比如ubuntu.18.04是bionic,ubuntu20.04是focal,Debian9是stretch,Debian10是buster,Debian11是bullseye

另外,有的標(biāo)簽還會加上slim,fat,來進(jìn)一步表示這個(gè)鏡像的內(nèi)容是經(jīng)過精簡的,還是包含了較多的輔助工具,通常slim鏡像會比較小。運(yùn)行效率高,而fat鏡像會比較大,適合用來開發(fā)調(diào)試

下面我就列出幾個(gè)標(biāo)簽的例子來說明一下。

-?nginx:1.21.6-alpine,表示版本號是1.21.6,基礎(chǔ)鏡像是最新的Alpine。

-?redis:7.0-rc-bullseye,表示版本號是7.0候選版,基礎(chǔ)鏡像是Debian?11。

-?node:17-buster-slim,表示版本號是17,基礎(chǔ)鏡像是精簡的Debian?10。

該怎么上傳自己的鏡像

現(xiàn)在,我想你應(yīng)該對如何在docker?hub上選擇鏡像有了比較全面的了解,那么接下來的問題就是我們用dockerfile創(chuàng)建的鏡像該如何上傳到docker?hub上呢?

這件事其實(shí)一點(diǎn)也不難,只需要4個(gè)步驟就能完成

第一步,你需要在docker?hub上注冊一個(gè)用戶,這個(gè)就不必再多說了

第二步,你需要在本機(jī)上使用docker?login命令,用剛才注冊的用戶名和密碼認(rèn)證身份登錄,像這里就用了我的用戶名chronolaw

第三步很關(guān)鍵,需要使用docker?tag?命令,給鏡像改成帶用戶名的完整名字,表示鏡像是屬于還整個(gè)用戶的,或者簡單一點(diǎn),直接用docker?build?-t在創(chuàng)建鏡像的時(shí)候就起好名字,這里我就用上次章節(jié)里的ngx-app作為例子,給他改名成chronolaw/ngx-app:1.0

docker?tag?ngx-app?chronolaw/ngx-app:1.0

第四步,用docker?push?把這個(gè)鏡像推上去,我們的鏡像發(fā)布工作就大功告成了:

docker?push?chronolaw/ngx-app:1.0

你還可以登錄docker?hub網(wǎng)站驗(yàn)證一下鏡像發(fā)布的效果,可以看到他會自動(dòng)為我們生成一個(gè)頁面模板。,里面還可以進(jìn)一步豐富完善,比如添加描述信息,使用說明等等;

現(xiàn)在你就可以把這個(gè)鏡像的名字(用戶名/應(yīng)用名:標(biāo)簽)告訴你的同事,讓他去用docker?pull?下載部署了

離線環(huán)境該怎么辦

使用docke?hub來管理鏡像的確是非常方便,不過有一種場景它卻是無法發(fā)揮作用,那就是企業(yè)內(nèi)網(wǎng)的離線環(huán)境,連不上外網(wǎng),自然也就不能使用docker?push。docker?pull來同送拉取鏡像了

那這種情況有沒有解決辦法呢?

方法當(dāng)然有,而且有很多,最佳的方法就是在內(nèi)網(wǎng)環(huán)境里仿造docker?hub,創(chuàng)建一個(gè)自己的私有registry服務(wù),有他來管理我們的鏡像,就想我們自己搭建gitlab做版本管理一樣

自建registry已經(jīng)有很多成熟的解決方案,比如docker?registry,還有CNCF?Harbor,不用使用他們還需要一些目前沒有講到的知識,步驟也有點(diǎn)繁瑣,所以我會在后續(xù)的章節(jié)里再介紹

下面我們說一說存儲,分發(fā)鏡像的一種笨方法,雖然比較原始,但簡單易行,可以作為臨時(shí)的應(yīng)急手段

docker提供了save和load這兩個(gè)鏡像歸檔命令,可以把鏡像導(dǎo)出成壓縮包,或者從壓縮包導(dǎo)入docker,而壓縮包是非常容易保管和傳輸?shù)?#xff0c;可以聯(lián)機(jī)拷貝,FTP共享,甚至存在U盤上隨身攜帶

需要注意的是,這兩個(gè)命令默認(rèn)使用標(biāo)準(zhǔn)流作為輸入輸出(為了方便linux管道操作)所以一般會用-o、-i參數(shù)來使用文件的形式,例如:

docker?save?ngx-app:latest?-o?ngx.tar

docker?load?-i?ngx.tar

小結(jié)

好了,今天我們一起學(xué)習(xí)了鏡像倉庫,了解了docker?hub的使用方法,整理一下要點(diǎn)方便你加深理解:

1-鏡像倉庫(registry)是一個(gè)提供綜合鏡像服務(wù)的網(wǎng)站,最基本的功能是長傳和下載

2-docker?hub是目前最大的鏡像倉庫,擁有很多高質(zhì)量的鏡像和,尚明的鏡像非常多,選擇的標(biāo)準(zhǔn)有官方認(rèn)證,下載量,星數(shù)等,需要綜合評估

3-鏡像也有很多版本,應(yīng)該根據(jù)版本號和操作系統(tǒng)仔細(xì)確認(rèn)合適的標(biāo)簽

4-在docker?hub注冊之后就可以上傳自己的鏡像,用docker?tag打上標(biāo)簽再用docker?push推送

5-離線環(huán)境可以自己搭建私有鏡像倉庫,或者使用docker?save把鏡像存成壓縮包,再用docker?load從壓縮包恢復(fù)成鏡像

最后我還是提問幾個(gè)問題,留給大家來思考:

1-很多應(yīng)用,比如nginx,redis,go,都已經(jīng)有了docker官方鏡像,為什么其他公司(Bitnami,Rancher)還要重復(fù)勞動(dòng),發(fā)布自己打包的鏡像呢?

2-你能否對比一下GitHub和docker?hub,說說他們兩個(gè)在功能,服務(wù)對象,影響范圍,等方面的異同點(diǎn)呢?

記得在留言區(qū)參與討論哦,我看到后會第一時(shí)間回復(fù),我們下個(gè)章節(jié)再見~

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

相關(guān)文章:

  • 免抵退稅在哪個(gè)網(wǎng)站做北京新聞最新消息
  • 電商網(wǎng)站建設(shè)與運(yùn)營seo專員工作容易學(xué)嗎
  • 順德新網(wǎng)站制作行業(yè)關(guān)鍵詞一覽表
  • 個(gè)人網(wǎng)站如何做專業(yè)的營銷團(tuán)隊(duì)哪里找
  • 廣州做網(wǎng)站哪家好網(wǎng)站推廣怎么做有效果
  • 網(wǎng)站公安備案網(wǎng)址電商平臺怎么加入
  • 凡科免費(fèi)建設(shè)企業(yè)網(wǎng)站靠譜嗎個(gè)人做外貿(mào)怎樣起步
  • 電子商務(wù)網(wǎng)站建設(shè)花費(fèi)今日新聞?lì)^條新聞最新
  • 泗陽城鄉(xiāng)建設(shè)局網(wǎng)站域名seo查詢
  • 百度優(yōu)化網(wǎng)站建設(shè)wordpress外貿(mào)獨(dú)立站
  • 網(wǎng)站維護(hù)需要會什么海外免費(fèi)網(wǎng)站推廣
  • 網(wǎng)站建設(shè)中代碼怎么自己做網(wǎng)頁
  • 網(wǎng)站設(shè)計(jì)與管理邯鄲百度推廣公司
  • 哪里有國內(nèi)網(wǎng)站建設(shè)公司淄博網(wǎng)站制作
  • 網(wǎng)站建站公司排名優(yōu)化網(wǎng)站的公司哪家好
  • 日照網(wǎng)站建設(shè)千萬別在百度上搜別人名字
  • 杭州灣新區(qū)建設(shè)局網(wǎng)站seo優(yōu)化便宜
  • 學(xué)校網(wǎng)站建設(shè)軟件推薦免費(fèi)的h5制作網(wǎng)站
  • 建設(shè)網(wǎng)站建設(shè)什么掙錢互聯(lián)網(wǎng)品牌營銷公司
  • 蘇州高端網(wǎng)站建設(shè)解釋seo網(wǎng)站推廣
  • 電腦做會計(jì)從業(yè)題目用什么網(wǎng)站最新新聞事件
  • 建設(shè)銀行網(wǎng)站個(gè)人中心大量微信群推廣代發(fā)廣告
  • axure怎么做網(wǎng)站引流推廣營銷
  • c 網(wǎng)站開發(fā)如何每天10點(diǎn)執(zhí)行任務(wù)東莞有哪些做推廣的網(wǎng)站
  • 浙江疫情最新消息2020seo超級外鏈工具免費(fèi)
  • 馬云早期在政府做網(wǎng)站學(xué)電商哪個(gè)培訓(xùn)學(xué)校好
  • 日本風(fēng)格網(wǎng)站seo快速優(yōu)化
  • 哪些企業(yè)網(wǎng)站做得好本地推薦本地推薦
  • 南京建設(shè)工程監(jiān)管網(wǎng)站營銷100個(gè)引流方案
  • 怎樣做網(wǎng)站服務(wù)器亞馬遜關(guān)鍵詞搜索工具