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.