最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 拉取鏡像及標(biāo)簽操作 pull | tag

 更新時(shí)間:2020年11月21日 15:44:32   作者:jiameng15  
這篇文章主要介紹了Docker 拉取鏡像及標(biāo)簽操作 pull | tag,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

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

1. docker pull

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

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

選項(xiàng),簡(jiǎn)寫 默認(rèn) 描述
–all-tags , -a 從鏡像庫(kù)拉取所有tag標(biāo)簽名的鏡像
–disable-content-trust true 忽略鏡像校驗(yàn)

比如:

$ docker pull hyperledger/fabric-$IMAGES:$FABRIC_TAG

Options:
# -a  拉取所有不同標(biāo)簽的鏡像
 -a, --all-tags    Download all tagged images in the repository
#  忽略鏡像校驗(yàn),默認(rèn)項(xiàng)
  --disable-content-trust Skip image verification (default true)

我們實(shí)際操作一下看看,操作環(huán)境是常用的Ubuntu16.04

1.1 普通拉取

實(shí)際上我們可以直接拉取該鏡像的最新版,默認(rèn)拉取tag為latest的鏡像

比如:

#拉取了java的鏡像,tag為latest
$ docker pull java
Using default tag: latest
latest: Pulling from library/java
5040bd298390: 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:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:latest

拉取完成,我們可以查看已經(jīng)擁有的鏡像

$ docker images

REPOSITORY   TAG     IMAGE ID   CREATED    SIZE

java    latest    d23bdf5b1b1b  20 months ago  643MB

1.2 tag標(biāo)簽名拉取

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

如果拉取另一個(gè)鏡像,其中某些“層”已經(jīng)下載過,那么docker pull則只會(huì)拉取元數(shù)據(jù),而不會(huì)重復(fù)拉取“層”。

Docker的鏡像庫(kù)使用了內(nèi)容尋址儲(chǔ)存功能,而鏡像ID是由SHA256作為摘要代表了其中包含的配置及“層”,下面我們來證明一下,因?yàn)槲依〉氖莏ava:latest,即tag名為latest的鏡像,所以我需要找到和latest同版不同tag名的鏡像(本質(zhì)上是一個(gè)鏡像,只是標(biāo)簽名不一樣),在Docker Hub上搜到如下結(jié)果:

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

$ docker pull java:8-jdk
8-jdk: Pulling from library/java
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Downloaded newer image for java:8-jdk

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

此時(shí),你們也許會(huì)和我產(chǎn)生相同的疑問,“完全相同?”,那是不是代表他們?cè)诓僮鳝h(huán)境中只存在一個(gè)?那么又用誰(shuí)的tag名來命名呢?我們來看如下輸出:

$ docker images
REPOSITORY   TAG     IMAGE ID   CREATED    SIZE
java    8-jdk    d23bdf5b1b1b  20 months ago  643MB
java    latest    d23bdf5b1b1b  20 months ago  643MB

我們可以清楚的看到,此時(shí)查看所有鏡像,有tag名分別為8-jdk和latest的鏡像羅列其上,java:8-jdk和 java:latest擁有相同的image ID,因?yàn)楸举|(zhì)上他們確實(shí)是 同一鏡像 ,只是由 不同標(biāo)簽 所標(biāo)記。

由于鏡像完全相同,則他們的“層”只儲(chǔ)存一次,且不會(huì)消耗額外的磁盤空間,即操作環(huán)境中只存在一個(gè)java鏡像,也可以用不同的tag標(biāo)記這個(gè)鏡像。

更多關(guān)于鏡像,“層”,內(nèi)容尋址存儲(chǔ)庫(kù)的信息,請(qǐng)移步還未開的新坑深度解析Docker鏡像,“層”和存儲(chǔ)驅(qū)動(dòng)

1.3 摘要拉取

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

sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d

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

$ docker pull java@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d: Pulling from library/java
Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
Status: Image is up to date for java@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d

該摘要的鏡像,已經(jīng)是最新,不需要拉取。

$ docker images
REPOSITORY   TAG     IMAGE ID   CREATED    SIZE
java    8-jdk    d23bdf5b1b1b  20 months ago  643MB
java    latest    d23bdf5b1b1b  20 months ago  643MB

鏡像列表毫無(wú)變動(dòng)。

這里需要提及一個(gè)知識(shí)點(diǎn),摘要可以在Dockerfile中配合FROM使用:

FROM java@sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d

MAINTAINER some maintainer <maintainer@example.com>

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

1.4 從其他注冊(cè)中心拉取

重申,默認(rèn)情況下,docker pull從Docker Hub拉取鏡像。當(dāng)然,我們可以設(shè)置從其他注冊(cè)中心拉取鏡像:

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

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

1.5 從同一鏡像庫(kù),一次拉取多個(gè)鏡像

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

1.6 取消拉取

取消拉取動(dòng)作可以殺死拉取進(jìn)程,直接在操作界面CTRL+c。

2. docker tag

給源鏡像創(chuàng)建一個(gè)新的tag

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

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

用冒號(hào)分割name和tag,如library/java:8-jdk。

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

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

2.1 給Name引用的鏡像加標(biāo)簽

$ docker tag java java:byname

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

2.2 給ID引用的鏡像加標(biāo)簽

$ docker tag d23bdf5b1b1b java:byid

2.3 給Name和Tag引用的鏡像加標(biāo)簽

$ docker tag java:8-jdk java:bynameandid

2.4 給私有注冊(cè)中心的鏡像加標(biāo)簽

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

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

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

后記

其實(shí)接觸docker也很久了,怎么想到寫這部分的內(nèi)容呢?

下筆的初衷,是為求知識(shí)的沉淀,一直以來,上級(jí)領(lǐng)導(dǎo)對(duì)我的要求是快速應(yīng)用技術(shù),產(chǎn)生價(jià)值,那么理論研究,底層原理,甚至基礎(chǔ)的命令,可能都不知真意,僅僅是能用,會(huì)用。

就像駕校教會(huì)學(xué)員駕駛技術(shù)(也可能沒教會(huì)),卻未曾教授汽車的組成(架構(gòu)),運(yùn)作機(jī)制(底層原理)。手會(huì)掛擋轉(zhuǎn)方向盤,腳會(huì)踩離合油門剎車,是不是也就夠了,會(huì)開車了。

那么為什么要沉淀?

其一,當(dāng)有人問你,一些命令,一些原理的時(shí)候,你支支吾吾無(wú)法作答,因?yàn)槟阒皇峭ㄟ^指尖的肌肉記憶了命令的使用方法,更遑論原理或底層;

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

以上這篇Docker 拉取鏡像及標(biāo)簽操作 pull | tag就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker?掛載、修改文件的步驟

    docker?掛載、修改文件的步驟

    這篇文章主要介紹了docker?掛載、修改文件的步驟,咱們使用的是docker的 copy 命令從容器中 copy 出來相關(guān)的配置文件,在本地修改,修改完畢在使用docker的 copy 命令從本地 copy 到容器中,重啟容器生效的,需要的朋友可以參考下
    2023-03-03
  • 基于Docker部署GitLab環(huán)境搭建的方法步驟

    基于Docker部署GitLab環(huán)境搭建的方法步驟

    這篇文章主要介紹了基于Docker部署GitLab環(huán)境搭建的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Docker部署MongoDb的詳細(xì)過程記錄

    Docker部署MongoDb的詳細(xì)過程記錄

    這篇文章主要介紹了如何使用Docker?Compose啟動(dòng)MongoDB副本集,包括配置文件編寫、容器啟動(dòng)命令、副本集初始化、角色和用戶創(chuàng)建等步驟,需要的朋友可以參考下
    2024-12-12
  • 如何修改Docke上傳/下載并發(fā)線程數(shù)來解決docker: unexpected EOF.錯(cuò)誤問題

    如何修改Docke上傳/下載并發(fā)線程數(shù)來解決docker: unexpected EOF.錯(cuò)誤問題

    下載或上傳鏡像時(shí),有可能因?yàn)榫W(wǎng)絡(luò)問題導(dǎo)致報(bào)出docker: unexpected EOF.的錯(cuò)誤,這時(shí)候可以考慮通過修改上傳/下載并發(fā)線程數(shù)來解決,本文給大家分享兩種方法幫助大家解決,需要的朋友一起看看吧
    2023-03-03
  • Docker 修改文件是否需要重啟(命令詳解)

    Docker 修改文件是否需要重啟(命令詳解)

    這篇文章主要介紹了Docker 修改文件是否需要重啟(命令詳解)的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • docker網(wǎng)絡(luò)雙向連接詳解

    docker網(wǎng)絡(luò)雙向連接詳解

    在本篇文章里小編給大家分享的是一篇關(guān)于docker網(wǎng)絡(luò)雙向連接知識(shí)點(diǎn)詳解內(nèi)容,有興趣朋友們可以參考學(xué)習(xí)下。
    2020-01-01
  • 修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法(解決方法)

    修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法(解決方法)

    這篇文章主要介紹了修改Docker鏡像默認(rèn)存儲(chǔ)位置的方法,如果上面運(yùn)行 Docker 服務(wù),經(jīng)過長(zhǎng)時(shí)間的使用,會(huì)使原本就比較大的分區(qū)越來越不夠用。如何更好地的處理這個(gè)問題呢,本文給出解決方案,需要的朋友一起看看吧
    2021-04-04
  • Docker 解決容器時(shí)間與主機(jī)時(shí)間不一致的問題三種解決方案

    Docker 解決容器時(shí)間與主機(jī)時(shí)間不一致的問題三種解決方案

    這篇文章主要介紹了Docker 解決容器時(shí)間與主機(jī)時(shí)間不一致的問題的相關(guān)資料,這里提供了三種方法,供大家參考,需要的朋友可以參考下
    2016-12-12
  • docker封裝鏡像及優(yōu)化方式

    docker封裝鏡像及優(yōu)化方式

    這篇文章主要介紹了docker封裝鏡像及優(yōu)化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Docker化Spring Boot應(yīng)用的實(shí)踐

    Docker化Spring Boot應(yīng)用的實(shí)踐

    本文主要介紹了Docker化Spring Boot應(yīng)用的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論

桃源县| 成都市| 香港| 隆昌县| 新巴尔虎右旗| 元氏县| 赞皇县| 伊金霍洛旗| 正阳县| 大新县| 桂平市| 新乡市| 武汉市| 海安县| 出国| 四子王旗| 钟山县| 方城县| 图们市| 永年县| 揭西县| 壶关县| 晴隆县| 万源市| 盐山县| 沈丘县| 金秀| 穆棱市| 大埔县| 武强县| 通海县| 东宁县| 怀化市| 商南县| 景德镇市| 荔波县| 新兴县| 西和县| 克什克腾旗| 兴业县| 沙洋县|