日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Docker 拉取鏡像及標簽操作 pull | tag

瀏覽:22日期:2024-11-12 15:23:08

重翻Fabric項目的源碼,發現Docker部分內容,有很多不盡理解的地方,看著看著,就看到使用docker pull拉取Fabric鏡像及使用docker tag為鏡像重命名,稍作思慮,發現雖然使用過,卻未求甚解,得過且過,如今已經忘了如何運用……

1. docker pull

從鏡像源拉取鏡像,一般來說是從Docker Hub拉取鏡像(image)

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

選項,簡寫 默認 描述 ?all-tags , -a 從鏡像庫拉取所有tag標簽名的鏡像 ?disable-content-trust true 忽略鏡像校驗

比如:

$ docker pull hyperledger/fabric-$IMAGES:$FABRIC_TAGOptions:# -a 拉取所有不同標簽的鏡像 -a, --all-tags Download all tagged images in the repository# 忽略鏡像校驗,默認項 --disable-content-trust Skip image verification (default true)

我們實際操作一下看看,操作環境是常用的Ubuntu16.04

1.1 普通拉取

實際上我們可以直接拉取該鏡像的最新版,默認拉取tag為latest的鏡像

比如:

#拉取了java的鏡像,tag為latest$ docker pull javaUsing default tag: latestlatest: Pulling from library/java5040bd298390: Pull complete fce5728aad85: Pull complete 76610ec20bf5: Pull complete 60170fec2151: Pull complete e98f73de8f0d: Pull complete 11f7af24ed9c: Pull complete 49e2d6393f32: Pull complete bb9cdec9c7f3: Pull complete Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9dStatus: Downloaded newer image for java:latest

拉取完成,我們可以查看已經擁有的鏡像

$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEjava latest d23bdf5b1b1b 20 months ago 643MB

1.2 tag標簽名拉取

從上述輸出內容,我們可以發現,雖然只拉取了一個java鏡像,但是拉取過程中,卻有多個Pull complete,5040bd298390和fce5728aad85等8個,這是因為鏡像可以由多“層”(layers)組成,而這種“層”可以被其他的鏡像復用(有點像前端的組件或模塊),從而組成新鏡像。

如果拉取另一個鏡像,其中某些“層”已經下載過,那么docker pull則只會拉取元數據,而不會重復拉取“層”。

Docker的鏡像庫使用了內容尋址儲存功能,而鏡像ID是由SHA256作為摘要代表了其中包含的配置及“層”,下面我們來證明一下,因為我拉取的是java:latest,即tag名為latest的鏡像,所以我需要找到和latest同版不同tag名的鏡像(本質上是一個鏡像,只是標簽名不一樣),在Docker Hub上搜到如下結果:

Docker 拉取鏡像及標簽操作 pull | tag

拉取tag名為8-jdk的鏡像:

$ docker pull java:8-jdk8-jdk: Pulling from library/javaDigest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9dStatus: Downloaded newer image for java:8-jdk

很明顯,此處的拉取沒有看到“層”的信息,且摘要的sha256值也與tag名為latest的鏡像完全一樣,本質上這是完全相同的兩個鏡像,由相同的“層”組成,所以不需要再次拉取了。

此時,你們也許會和我產生相同的疑問,“完全相同?”,那是不是代表他們在操作環境中只存在一個?那么又用誰的tag名來命名呢?我們來看如下輸出:

$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEjava 8-jdk d23bdf5b1b1b 20 months ago 643MBjava latest d23bdf5b1b1b 20 months ago 643MB

我們可以清楚的看到,此時查看所有鏡像,有tag名分別為8-jdk和latest的鏡像羅列其上,java:8-jdk和 java:latest擁有相同的image ID,因為本質上他們確實是 同一鏡像 ,只是由 不同標簽 所標記。

由于鏡像完全相同,則他們的“層”只儲存一次,且不會消耗額外的磁盤空間,即操作環境中只存在一個java鏡像,也可以用不同的tag標記這個鏡像。

更多關于鏡像,“層”,內容尋址存儲庫的信息,請移步還未開的新坑深度解析Docker鏡像,“層”和存儲驅動

1.3 摘要拉取

通過上述兩種拉取鏡像的方式,我們獲得了一個sha256

sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d

我們下面嘗試摘要拉取鏡像的方法:

$ docker pull java@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9dsha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d: Pulling from library/javaDigest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9dStatus: Image is up to date for java@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d

該摘要的鏡像,已經是最新,不需要拉取。

$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEjava 8-jdk d23bdf5b1b1b 20 months ago 643MBjava latest d23bdf5b1b1b 20 months ago 643MB

鏡像列表毫無變動。

這里需要提及一個知識點,摘要可以在Dockerfile中配合FROM使用:

FROM java@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d

MAINTAINER some maintainer <maintainer@example.com>

這種引用方式,由于特定摘要,會將鏡像固定為特定的版本,且不會更新,如需要使用其他版本,則需要變更摘要內容

1.4 從其他注冊中心拉取

重申,默認情況下,docker pull從Docker Hub拉取鏡像。當然,我們可以設置從其他注冊中心拉取鏡像:

$ docker pull localregistry.example:6666/testing/test-image

此處需要注意,注冊中心的URL前不需要加http://或https://

1.5 從同一鏡像庫,一次拉取多個鏡像

使用docker pull -a 則可以拉取同一鏡像庫中所有鏡像。

1.6 取消拉取

取消拉取動作可以殺死拉取進程,直接在操作界面CTRL+c。

2. docker tag

給源鏡像創建一個新的tag

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

鏡像名,是由斜杠分割的每一個name組成部分構成的,如library/java。

用冒號分割name和tag,如library/java:8-jdk。

我們還可以在鏡像名前加一些前綴,表示鏡像來源是其他注冊中心或私有注冊中心,如

localregistry.example:6666/library/java:8-jdk

2.1 給Name引用的鏡像加標簽

$ docker tag java java:byname

讀者們可以自行嘗試docker tag java java:byname和docker tag java lib/java:byname有何異同

2.2 給ID引用的鏡像加標簽

$ docker tag d23bdf5b1b1b java:byid

2.3 給Name和Tag引用的鏡像加標簽

$ docker tag java:8-jdk java:bynameandid

2.4 給私有注冊中心的鏡像加標簽

為了將鏡像上傳到私有注冊中心,需要給鏡像重命名,規則為:

$ docker tag java:8-jdk localregistry.example:6666/library/java:8-jdk-v1

docker pull和 docker tag是使用頻率頗高的命令,使用方法簡單,卻有很多技巧,讀者們可以自行練習、嘗試。

后記

其實接觸docker也很久了,怎么想到寫這部分的內容呢?

下筆的初衷,是為求知識的沉淀,一直以來,上級領導對我的要求是快速應用技術,產生價值,那么理論研究,底層原理,甚至基礎的命令,可能都不知真意,僅僅是能用,會用。

就像駕校教會學員駕駛技術(也可能沒教會),卻未曾教授汽車的組成(架構),運作機制(底層原理)。手會掛擋轉方向盤,腳會踩離合油門剎車,是不是也就夠了,會開車了。

那么為什么要沉淀?

其一,當有人問你,一些命令,一些原理的時候,你支支吾吾無法作答,因為你只是通過指尖的肌肉記憶了命令的使用方法,更遑論原理或底層;

其二,觸類旁通,從最初的前端菜鳥,到后來的使用Spring Boot架構寫Java應用,再到現在學習使用Linux命令(shell)、Docker、Go來應用區塊鏈框架 HyperLedger Fabric 做生產,看似有些跨度,然而還是一個相同的領域,人與機器之間的交流。我學會的是用不同的語種去和會各種機器語言的機器去交流,就像一個活在機器國度的異族,會讀,會寫。在機器世界的踐行之路上,與一開始的HTML,CSS,JavaScript,我的啟蒙,漸行漸遠。正值國慶前夕,暫且寫在這里,感覺自己就是一顆過度吸水和接受充分光照的豆芽,越長越高,然而越高的地方越是纖細,根部不夠繁茂,頸部不夠粗壯,越是易彎易折。應當時刻鞭策自己,不棄初心,不忘本職,汲取前端更有營養的內容,強壯己身。

以上這篇Docker 拉取鏡像及標簽操作 pull | tag就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Docker
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩精品一卡二卡三卡四卡无卡| 97精品在线| 国产欧美日韩精品一区二区三区| 麻豆一区二区三| 亚洲国产日韩欧美在线| 国产伦精品一区二区三区千人斩| 亚洲在线成人| 日韩欧美字幕| 亚洲四虎影院| 激情自拍一区| 亚洲欧美日本国产| 日韩精彩视频在线观看| 日本不卡视频在线观看| 三级欧美在线一区| 欧美日韩少妇| 亚洲天堂av资源在线观看| 国产精品主播| 99香蕉国产精品偷在线观看 | 国产精品二区不卡| 久久精品国产亚洲一区二区三区| 精品理论电影在线| 欧产日产国产精品视频| 1000部精品久久久久久久久| 久久精品女人| 麻豆国产在线| 美女久久久久久 | 97se综合| 高清久久精品| 国产一区二区三区久久 | 天堂日韩电影| 久久久久久久久丰满| 视频在线在亚洲| 91麻豆精品激情在线观看最新 | 五月天久久777| 亚洲精选成人| 亚洲乱亚洲高清| 亚洲一区二区三区高清不卡| 亚洲欧洲国产精品一区| 欧美日韩视频免费看| 成人福利av| 丝袜a∨在线一区二区三区不卡| 日韩国产一二三区| 91精品蜜臀一区二区三区在线| 久久不卡日韩美女| 伊人久久亚洲美女图片| 99精品小视频| 日本免费一区二区三区四区| 石原莉奈在线亚洲三区| 肉色欧美久久久久久久免费看 | 日韩有吗在线观看| 亚洲aⅴ网站| 先锋影音国产一区| 麻豆精品99| 免费一级片91| 欧美+日本+国产+在线a∨观看| 成人久久一区| 亚洲精品99| 综合五月婷婷| 久久不见久久见免费视频7| 久久麻豆视频| 婷婷激情一区| 久久福利精品| 国产精品资源| 亚洲高清不卡| 911精品国产| 精品理论电影在线| 日韩成人亚洲| 日韩在线观看中文字幕| 精品精品久久| 久久性天堂网| 国产精品99一区二区三区| 欧美专区在线| 福利片在线一区二区| 久久午夜精品| 亚洲国产福利| 日本在线不卡视频一二三区| www成人在线视频| 国产一区 二区| 亚洲午夜电影| 日本aⅴ亚洲精品中文乱码| 国产一区二区久久久久| 久久aⅴ国产紧身牛仔裤| 精品欧美日韩精品| 亚洲免费观看高清完整版在线观| 成人在线超碰| 视频一区视频二区在线观看| 精品国产a一区二区三区v免费| 亚洲一区日本| 日韩精品看片| 精品国产成人| 日韩精品欧美精品| 精品在线91| 电影亚洲精品噜噜在线观看 | 蜜臀av一区二区在线免费观看| 国产精品a级| 欧美在线不卡| 日本成人中文字幕在线视频| 丝袜美腿成人在线| 尤物精品在线| 亚洲欧美视频| 欧美香蕉视频| 国产美女久久| 狠狠色狠狠色综合日日tαg| 久久99青青| 日韩精品第二页| 在线亚洲自拍| 国产高清久久| 91青青国产在线观看精品| 日韩88av| 国产成人精品福利| 欧美天堂视频| 亚洲91网站| 激情不卡一区二区三区视频在线| sm捆绑调教国产免费网站在线观看 | 天堂av在线| 国产综合色区在线观看| 不卡一区综合视频| 日本精品在线播放| 日韩免费在线| 亚洲一级淫片| 亚洲网站视频| 超碰在线99| 久久久国产精品入口麻豆| 国产一区二区三区91| 99日韩精品| 国产 日韩 欧美 综合 一区| 激情自拍一区| 国产精品亚洲一区二区在线观看| 国产伦久视频在线观看| 亚洲欧美日本视频在线观看| 国产精品hd| 伊人久久亚洲| 视频小说一区二区| 美女国产精品| 久久久久免费av| 国产欧美丝祙| 欧美成人基地| 欧美日韩精品免费观看视频完整| 亚洲黄页一区| 91成人在线精品视频| 成人污污视频| 国产精品老牛| 国产精品麻豆成人av电影艾秋| 97精品中文字幕| 日韩中文字幕区一区有砖一区| 国产日本精品| 激情久久中文字幕| 国产欧美日韩影院| 国产一区二区三区成人欧美日韩在线观看| 亚洲成人国产| 国产一精品一av一免费爽爽| 久久网站免费观看| 日韩不卡一区二区| 九色porny丨国产首页在线| 视频一区视频二区中文字幕| 成人在线超碰| 欧美国产中文高清| 免费在线观看日韩欧美| 国产欧美一区二区三区精品酒店| 中文字幕av一区二区三区人| 天堂√中文最新版在线| 欧美伊人久久| 视频一区二区三区在线| 成人在线免费观看91| 午夜精品影视国产一区在线麻豆| caoporn视频在线| 欧美亚洲综合视频| 亚洲午夜国产成人| 在线视频精品| 亚洲电影在线| 久久婷婷久久| 丝袜诱惑一区二区| 麻豆久久久久久久| 久久国产欧美日韩精品| 日韩视频1区| 在线精品观看| 日韩一区二区免费看| sm捆绑调教国产免费网站在线观看| 日韩精品免费一区二区夜夜嗨| 午夜一级久久| 亚洲日本国产| 日韩不卡一二三区| 日韩av中文在线观看| 日本成人中文字幕在线视频| 亚洲精品国产精品粉嫩| 99国内精品| 成人福利视频| 在线观看一区| 老司机免费视频一区二区| 国产精品久久久久久久久久10秀| 欧美日韩国产观看视频| 激情偷拍久久| 四虎成人精品一区二区免费网站| 视频一区中文字幕国产| 日本视频一区二区| www.51av欧美视频| 中文一区一区三区免费在线观 | 激情久久久久久| 国产精品毛片在线| 国产高清亚洲|