çoklu etiket oluşturucu resmi oluştur


151

Bir Docker görüntüsüne nasıl birkaç etiket eklenebilir? Bir Dockerfile kullanarak birden fazla etiket oluşturmak mümkün müdür ?

Bu mümkündür, her nasılsa ; örneğin docker pull ubuntu, bazıları birden fazla etikete sahip olan birkaç resim alırsınız:

ubuntu                  13.10               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  saucy               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  raring              eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  13.04               eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  12.10               5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  quantal             5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  10.04               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  lucid               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  12.04               9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  latest              9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  precise             9cd978db300e        2 weeks ago         204.7 MB

Yanıtlar:


79

Dockerfiles ile etiket oluşturamazsınız, ancak komut satırı üzerinden görüntülerinizde birden çok etiket oluşturabilirsiniz.

Resim kimliklerinizi listelemek için bunu kullanın:

$ docker images

Ardından etiketleyin:

$ docker tag 9f676bd305a4 ubuntu:13.10
$ docker tag 9f676bd305a4 ubuntu:saucy
$ docker tag eb601b8965b8 ubuntu:raring
...

4
Ana nokta Dockerfile'da, bu komutlar Dockerfile'a yazılamadı.
Daniel YC Lin

1
Kimliği manuel olarak bulmak zorunda kalmamak için bu cevaba bakınız .
Jonathon Reinhart

441

1.10 sürümünden bu yana, derlemede aynı anda birden fazla etiket ekleyebilirsiniz:

docker build -t name1:tag1 -t name1:tag2 -t name2 .

Kaynak: Docker derlemesi ile birden fazla etiket ekleme yeteneği ekleyin


5
Bu bir inşa sürecinde kullanım kolaylığı için daha doğru cevap olduğunu düşünüyorum
brasskazoo

Bu uygun değil, çünkü ubuntu'nun farklı versiyon etiketi, içerik farklı.
Daniel YC Lin

2
Yine de bu etiketlerin bir itme işleminden sonra depoda görünmesini nasıl sağlayabilirim? Maalesef repoda yalnızca push komutunda kullandığım.
Çek teknolojisi

4
2018'in sonunda bile Docker bu açıdan inanılmaz derecede olgunlaşmamış olsa da, her bir 'etiket' aynı görüntüye bağlı olmasına rağmen yine de ayrı olarak itilmelidir. Burada gerekli olan Git etiketlerine benzer bir özellik.
Ed Randall

-8

Nasıl yapılmaz:

Bir görüntü oluştururken, bu şekilde de etiketleyebilirsiniz.

docker build -t ubuntu:14.04 .

Ardından başka bir etiketle tekrar oluşturursunuz:

docker build -t ubuntu:latest .

Eğer sizin Dockerfile önbellek iyi kullanan, aynı görüntü çıkması gerekir ve bu etkili aynı görüntüyü yeniden etiketleyerek aynı yapar. Bunu yaparsanız docker images, aynı kimliğe sahip olduklarını göreceksiniz.

Muhtemelen bunun yanlış gittiği bir durum var ... Ama @ david-braun'un dediği gibi, Dockerfiles'la, sadece docker komutuyla etiket oluşturamazsınız.


3
Bunu @ david-braun gibi yapmak daha temiz olduğunu da ekleyebilirim.
cassava

14
İki kere inşa etmeyin. Bu cevaba bakınız .
Jonathon Reinhart

inşa CI / CD kavramını iki kez yener ... ikinci derleme bağımlılıklara bağlı olarak farklılık olabilir ... hepsi zamanlama.
Richard

4
Açıkça 'Nasıl yapılmaz' başlıklı bu cevap şimdi nasıl çalıştığını anlamaya bir şey katıyor.
Ed Randall
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.