摘要:你可以用過(guò)把元數(shù)據(jù)應(yīng)用到你的鏡像,容器或者是守護(hù)進(jìn)程中。元數(shù)據(jù)可以服務(wù)于廣泛的用途。這意味著本身并不提供基于嵌套屬性的查詢過(guò)濾器。使用指令給鏡像添加標(biāo)簽指令用來(lái)給鏡像添加標(biāo)簽,可選擇設(shè)置它的值。對(duì)于使用空格的標(biāo)簽,要用雙引號(hào)或者反斜杠。
你可以用過(guò)LABEL把元數(shù)據(jù)應(yīng)用到你的鏡像,容器或者是守護(hù)進(jìn)程中。元數(shù)據(jù)可以服務(wù)于廣泛的用途。使用標(biāo)簽可以給鏡像添加注釋或者是許可信息,還可以用來(lái)標(biāo)志你的主機(jī)
標(biāo)簽是
Label keys (namespaces)注意:Docker1.4.1之后的版本才支持daemon-labels,對(duì)標(biāo)簽和容器的標(biāo)簽支持是1.6.0中的新特性。
標(biāo)簽的鍵,(也就是命名空間)
Docker對(duì)你創(chuàng)建的標(biāo)簽中的鍵沒(méi)有什么硬性的限制,但是簡(jiǎn)單的鍵也有可能沖突。例如,你通過(guò)architecture標(biāo)簽來(lái)給你的鏡像分類(lèi):
languageLABEL architecture="amd64" LABEL architecture="ARMv7"
而且用戶也可以通過(guò)不同風(fēng)格的標(biāo)簽來(lái)給鏡像打標(biāo)簽:
languageLABEL architecture="Art Nouveau"
為了防止命名沖突,Docker的命名空間標(biāo)簽鍵使用反向域名表示。參考下面來(lái)命名你的鍵:
所有的(第三方)工具都用反向域名前綴+標(biāo)簽的方式來(lái)命名,這個(gè)反向域名要和工具作者提供的域名一致,如com.example.some-label,com.example.some-auther="root"
com.docker.*, io.docker.*和com.dockerproject.*保留給Docker內(nèi)部使用
鍵只能是小寫(xiě)字母,數(shù)字,點(diǎn)和-表示,及[a-z0-9-.]
鍵名的開(kāi)始和結(jié)束只能是字母和數(shù)字
不能包含連續(xù)的-和點(diǎn)
沒(méi)有名稱(chēng)空間的標(biāo)簽保留給CLI,這就允許最終用戶給容器和鏡像添加元數(shù)據(jù)而不必在終端輸入繁瑣的命令
上面列舉的都是準(zhǔn)則且Docker嚴(yán)格遵守執(zhí)行。如果你沒(méi)有遵守這些準(zhǔn)則有可能導(dǎo)致標(biāo)簽名的沖突。如果恰巧你也在使用標(biāo)簽構(gòu)建工具的話,趕快為你的標(biāo)簽和鍵使用名稱(chēng)空間吧
Store structured data in labels在標(biāo)簽中存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)
標(biāo)簽中的值可以包含任何能被存儲(chǔ)為字符串的值,例如下面的JSON格式的數(shù)據(jù):
shell{ "Description": "A containerized foobar", "Usage": "docker run --rm example/foobar [args]", "License": "GPL", "Version": "0.0.1-beta", "aBoolean": true, "aNumber" : 0.01234, "aNestedArray": ["a", "b", "c"] }
要想把這個(gè)結(jié)構(gòu)存儲(chǔ)在標(biāo)簽中,首先你要把它序列化為字符串:
languageLABEL com.example.image-specs="{"Description":"A containerized foobar","Usage":"docker run --rm example/foobar [args]","License":"GPL","Version":"0.0.1-beta","aBoolean":true,"aNumber":0.01234,"aNestedArray":["a","b","c"]}"
雖然可以在標(biāo)簽中存儲(chǔ)結(jié)構(gòu)化的數(shù)據(jù),但是Docker把它(結(jié)構(gòu)化的數(shù)據(jù))看作是普通的字符串。這意味著Docker本身并不提供基于嵌套屬性的查詢(過(guò)濾器)。如果你的工具需要通過(guò)嵌套屬性來(lái)過(guò)濾,那么你的工具本身要實(shí)現(xiàn)這個(gè)功能,二不要讓Docker去做。
Add labels to images; the LABEL instruction使用LABEL指令給鏡像添加標(biāo)簽
languageLABEL [.] [= ] ...
LABEL指令用來(lái)給鏡像添加標(biāo)簽,可選擇設(shè)置它的值。對(duì)于使用空格的標(biāo)簽,要用雙引號(hào)或者反斜杠。
e.g.
languageLABEL vendor=ACME Incorporated LABEL com.example.version.is-beta LABEL com.example.version="0.0.1-beta" LABEL com.example.release-date="2015-02-12"
注意:上面的第二行中只有鍵,沒(méi)有值。
LABEL指令支持在一個(gè)LABEL下設(shè)置多個(gè)
e.g.
languageLABEL com.example.version="0.0.1-beta" com.example.release-date="2015-02-12"
Docker允許使用反斜杠,將1行指令分割為多個(gè)行
languageLABEL vendor=ACME Incorporated com.example.is-beta com.example.version="0.0.1-beta" com.example.release-date="2015-02-12"
Docker更推薦你在一個(gè)LABEL指令中設(shè)置多個(gè)標(biāo)簽,每個(gè)標(biāo)簽都用指令多帶帶設(shè)置的話會(huì)讓你的鏡像很低效,這是因?yàn)槊恳粋€(gè)Dockerfile中的LABEL指令都會(huì)產(chǎn)生1個(gè)鏡像層(怒了,這個(gè)解釋直達(dá)本質(zhì)啊)!!!
我們可以使用docker inspect來(lái)查看鏡像或者容器的標(biāo)簽
Query labels查詢標(biāo)簽
標(biāo)簽除了可以用來(lái)存儲(chǔ)元數(shù)據(jù),還可以用來(lái)過(guò)濾鏡像和容器。下面的命令將會(huì)列出所有包含com.example.is-beta標(biāo)簽并且運(yùn)行這的容器:
languagedocker ps --filter "label=com.example.is-beta"
color標(biāo)簽且值為blue的運(yùn)行中的容器
languagedocker ps --filter "label=color=blue"
包含vendor和ACME的鏡像
languagedocker images --filter "label=vendor=ACME"Daemon labels
守護(hù)標(biāo)簽
docker info這條命令的解釋是:Display system-wide information(顯示全部信息)
下面是我電腦上的結(jié)果:
languageadolph@geek:~$ docker info Containers: 7 Images: 44 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 58 Dirperm1 Supported: false Execution Driver: native-0.2 Kernel Version: 3.13.0-52-generic Operating System: Ubuntu 14.04.2 LTS CPUs: 4 Total Memory: 7.687 GiB Name: geek ID: HGR7:UGWW:VQVV:WYMF:CSEE:KJ4C:QS4U:IRIU:LREB:M4YC:GDJY:YPI5 Username: adolphlwq Registry: [https://index.docker.io/v1/] WARNING: No swap limit support
可以看出里面主要是關(guān)于Docker daemon的信息,這里并沒(méi)有關(guān)于它的標(biāo)簽信息。但是我們可以通過(guò)``docker -d label=value`的方式給Docker daemon本身添加標(biāo)簽:
languagedocker -d --dns 8.8.8.8 --dns 8.8.4.4 -H unix:///var/run/docker.sock --label com.example.environment="production" --label com.example.storage="ssd"
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/26411.html
摘要:可以通過(guò)驗(yàn)證自定義對(duì)象是否符合標(biāo)準(zhǔn)。此功能可用于及以上版本自定義資源。狀態(tài)和規(guī)范節(jié)分別由自定義資源內(nèi)的和表示。對(duì)子資源的請(qǐng)求采用自定義資源對(duì)象,并忽略除狀態(tài)節(jié)之外的任何更改。該對(duì)象作為有效負(fù)載發(fā)送。 kubernetes自定義資源對(duì)象高級(jí)功能 本文首發(fā)于微信公眾號(hào)我的小碗湯,掃碼文末二維碼即可關(guān)注,歡迎一起交流! kubernetes自定義資源對(duì)象再極大程度提高了API Server的...
摘要:可以通過(guò)驗(yàn)證自定義對(duì)象是否符合標(biāo)準(zhǔn)。此功能可用于及以上版本自定義資源。狀態(tài)和規(guī)范節(jié)分別由自定義資源內(nèi)的和表示。對(duì)子資源的請(qǐng)求采用自定義資源對(duì)象,并忽略除狀態(tài)節(jié)之外的任何更改。該對(duì)象作為有效負(fù)載發(fā)送。 kubernetes自定義資源對(duì)象高級(jí)功能 本文首發(fā)于微信公眾號(hào)我的小碗湯,掃碼文末二維碼即可關(guān)注,歡迎一起交流! kubernetes自定義資源對(duì)象再極大程度提高了API Server的...
摘要:與通過(guò)來(lái)自定義監(jiān)控指標(biāo)自動(dòng)擴(kuò)展是一種根據(jù)資源使用情況自動(dòng)擴(kuò)展或縮小工作負(fù)載的方法。適配器刪除后綴并將度量標(biāo)記為計(jì)數(shù)器度量標(biāo)準(zhǔn)。負(fù)載測(cè)試完成后,會(huì)將部署縮到其初始副本您可能已經(jīng)注意到自動(dòng)縮放器不會(huì)立即對(duì)使用峰值做出反應(yīng)。 k8s與HPA--通過(guò) Prometheus adaptor 來(lái)自定義監(jiān)控指標(biāo) 自動(dòng)擴(kuò)展是一種根據(jù)資源使用情況自動(dòng)擴(kuò)展或縮小工作負(fù)載的方法。 Kubernetes中的自...
摘要:與通過(guò)來(lái)自定義監(jiān)控指標(biāo)自動(dòng)擴(kuò)展是一種根據(jù)資源使用情況自動(dòng)擴(kuò)展或縮小工作負(fù)載的方法。適配器刪除后綴并將度量標(biāo)記為計(jì)數(shù)器度量標(biāo)準(zhǔn)。負(fù)載測(cè)試完成后,會(huì)將部署縮到其初始副本您可能已經(jīng)注意到自動(dòng)縮放器不會(huì)立即對(duì)使用峰值做出反應(yīng)。 k8s與HPA--通過(guò) Prometheus adaptor 來(lái)自定義監(jiān)控指標(biāo) 自動(dòng)擴(kuò)展是一種根據(jù)資源使用情況自動(dòng)擴(kuò)展或縮小工作負(fù)載的方法。 Kubernetes中的自...
摘要:與通過(guò)來(lái)自定義監(jiān)控指標(biāo)自動(dòng)擴(kuò)展是一種根據(jù)資源使用情況自動(dòng)擴(kuò)展或縮小工作負(fù)載的方法。適配器刪除后綴并將度量標(biāo)記為計(jì)數(shù)器度量標(biāo)準(zhǔn)。負(fù)載測(cè)試完成后,會(huì)將部署縮到其初始副本您可能已經(jīng)注意到自動(dòng)縮放器不會(huì)立即對(duì)使用峰值做出反應(yīng)。 k8s與HPA--通過(guò) Prometheus adaptor 來(lái)自定義監(jiān)控指標(biāo) 自動(dòng)擴(kuò)展是一種根據(jù)資源使用情況自動(dòng)擴(kuò)展或縮小工作負(fù)載的方法。 Kubernetes中的自...
閱讀 2451·2021-10-13 09:40
閱讀 3338·2019-08-30 13:46
閱讀 1125·2019-08-29 14:05
閱讀 2961·2019-08-29 12:48
閱讀 3657·2019-08-26 13:28
閱讀 2148·2019-08-26 11:34
閱讀 2284·2019-08-23 18:11
閱讀 1163·2019-08-23 12:26