Jak oznaczyć obraz dockera za pomocą docker-compose


119

Chcę zbudować obraz za pomocą docker-compose i ustawić dla niego określony tag. Dokumentacja mówi:

Compose zbuduje i otaguje go wygenerowaną nazwą, a następnie użyje tego obrazu.

Ale nie mogę znaleźć sposobu na określenie tagu i dla zbudowanych obrazów zawsze widzę tag „najnowsze”.


1
github.com/docker/compose/issues/2092 to obsługa śledzenia problemów przy tworzeniu obrazu o innej nazwie
dnephin.

Odpowiedzi:


182

Wygląda na to, że dokumenty / narzędzie zostały zaktualizowane i możesz teraz dodać imagetag do swojego skryptu. To się udało.

Przykład:

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
Rzeczywiście, jest tam napisane: „Jeśli określisz obraz i kompilację, wtedy Compose nazywa zbudowany obraz za pomocą aplikacji internetowej i opcjonalnego tagu określonego w obrazie”
Daniel Andrei Minca

10
Co za dziwny interfejs! Obecność jednego pola odwraca semantykę innego pola, które znajduje się na tym samym poziomie wcięcia.
Navin

@ numbers1311407 Możesz chcieć edytować / usunąć swój komentarz, ponieważ komentarz, na który odpowiadasz, zniknął. Wygląda na to, że nie zgadzasz się z ootwch lub z odpowiedzią.
Navin

4
Tak, wydało mi się to dziwne. Spodziewałem się tagopcji. Przeglądałem dokumenty w poszukiwaniu tagu, ale bezskutecznie
Matthew Brent

1
@ Navin Jeśli to nie jest wystarczająco dziwne, spróbuj image: my.image.name:rc2wstawić docker build: .-compose.yml i docker-compose.override.yml i pozwól docker-compose połączyć te dwa! (Efekt jest taki sam, jak zaakceptowana odpowiedź)
Craftonix - AA

23

Oryginalna odpowiedź 20 listopada 2015 :

Brak opcji dla określonego tagu na dzień dzisiejszy. Docker Compose po prostu robi swoje i przypisuje tag, tak jak widzisz. Zawsze możesz mieć wywołanie skryptu docker tag <image> <tag>po wywołaniu docker-compose.

Teraz jest opcja opisana powyżej lub tutaj

build: ./dir
image: webapp:tag

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.