Docker görüntüsü docker-compose ile nasıl etiketlenir


119

Docker-compose aracılığıyla görüntü oluşturmak ve ona belirli bir etiket ayarlamak istiyorum. Belgeler şöyle diyor:

Compose onu oluşturacak ve oluşturulmuş bir adla etiketleyecek ve daha sonra bu görüntüyü kullanacaktır.

Ancak etiket belirtmenin bir yolunu bulamıyorum ve yerleşik görüntüler için her zaman 'en son' etiketini görüyorum.


1
github.com/docker/compose/issues/2092 , görüntüyü farklı bir adla oluşturmak için sorun izleme desteğidir
dnephin

Yanıtlar:


182

Görünüşe göre dokümanlar / araç güncellendi ve artık imageetiketi komut dosyanıza ekleyebilirsiniz . Bu benim için başarılı oldu.

Misal:

version: '2'
services:

  baggins.api.rest:
    image: my.image.name:rc2
    build:
      context: ../..
      dockerfile: app/Docker/Dockerfile.release
    ports:
      ...

https://docs.docker.com/compose/compose-file/#build


7
Nitekim, "Oluşturmanın yanı sıra görüntüyü de belirtirseniz, Compose yerleşik görüntüyü görüntüde belirtilen web uygulaması ve isteğe bağlı etiketle adlandırır" diyor
Daniel Andrei Mincă

10
Ne garip bir arayüz! Bir alanın varlığı, aynı girinti düzeyinde olan başka bir alanın anlamını tersine çevirir.
Navin

@ numbers1311407 Yanıtladığınız yorum gittiği için yorumunuzu düzenlemek / silmek isteyebilirsiniz. Ootwch ya da cevaba katılmıyor gibisin.
Navin

4
Evet, bu konsepti çok garip buldum. Bir tagseçenek bekliyordum . Boşuna etiket aramak için dokümanlar arasında dolaşıyordum
Matthew Brent

1
@Navin Bu yeterince tuhaf değilse, image: my.image.name:rc2docker-compose.yml ve docker-compose.override.yml koymayı deneyin build: .ve docker-compose ikisini birleştirsin! (Kabul edilen cevapla aynı etkiyi elde edersiniz)
Craftonix - AA

23

Orijinal cevap 20 Kasım 2015 :

Bugün itibariyle belirli bir etiket için seçenek yok. Docker compose sadece sihrini yerine getirir ve gördüğünüz gibi bir etiket atar. docker tag <image> <tag>Docker-compose'u çağırdıktan sonra her zaman bir betik çağrınız olabilir .

Şimdi yukarıda veya burada açıklandığı gibi bir seçenek var

build: ./dir
image: webapp:tag

6

Oluşturmanın yanı sıra görüntüyü de belirtirseniz, Compose yerleşik görüntüyü görüntüde belirtilen web uygulaması ve isteğe bağlı etiketle adlandırır:

build: ./dir
image: webapp:tag

Bu , adlı webappve etiketlenmiş bir görüntü ile sonuçlanır .tag./dir

https://docs.docker.com/compose/compose-file/#build

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.