2015-11-24 27 views
16

liman işçisi bir Docker görüntü üzerinde etiket almak için çok yararlı olabilir komutu inceleyin: Basit etiket isimleri içinEtiket adının bir "." Olması durumunda Docker görüntüsünün etiketini nasıl alabilirim içinde?

# -*- Dockerfile -*- 
FROM busybox 
LABEL foo="bar" 
LABEL com.wherever.foo="bang" 

, komut (şablonlar git kullanır) bir --format seçeneği vardır incelemek güzel çalışıyor.

$ docker build -t foo . 
$ docker inspect -f '{{ .Config.Labels.foo }}' foo 
bar 

Fakat adlarında nokta olan etiketlere nasıl erişirim?

$ docker inspect -f '{{ .Config.Labels.com.wherever.foo }}' foo 
<no value> 

ben mümkünse yeniden-ayrıştırma docker inspect gelen JSON çıktısını kaçınmak istediğiniz bir bash betiği, bu yazıyorum.

cevap

22

index işlevi, aradığım şey budur. Haritadaki keyfi dizeleri arayabilir.

$ docker inspect -f '{{ index .Config.Labels "com.wherever.foo" }}' foo 
bang 
İlgili konular