2015-11-19 5 views
25

Chcę utworzyć obraz za pomocą funkcji dokowania i ustawić dla niego konkretny znacznik. Documentation mówi:Jak oznaczyć obraz dokowany przy użyciu funkcji dokowania

Compose zbuduje i oznaczyć go z wygenerowaną nazwą i użyć tego obraz później.

Ale nie mogę znaleźć sposobu na określenie tagu, a dla budowanych obrazów zawsze widzę tag "najnowszy".

+1

https://github.com/docker/compose/issues/2092 jest wsparcie problem śledzenia budowania wizerunku z inną nazwą – dnephin

Odpowiedz

51

Wygląda na to, że dokumenty/narzędzie zostały zaktualizowane i teraz można dodać znacznik image do skryptu. To było dla mnie udane.

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

+3

To jest poprawna odpowiedź dzisiaj. – ootwch

+8

Nie ma to związku z tworzeniem znacznika, to po prostu określa, którego 'obrazu' użyć, w którym tagu. –

+7

Źle, przeczytaj dokumenty powiązane z odpowiedzią. Jeśli podasz 'build' * i *' image', 'image' nabiera nowego znaczenia i zamiast tego definiuje nazwę wbudowanego obrazu i opcjonalnie jego znacznik. – numbers1311407

9

Brak opcji dla konkretnego znacznika na dzień dzisiejszy. Składanka Docker po prostu robi swoją magię i przypisuje znaczek, który widzisz. Po wywołaniu funkcji docker-compose można zawsze wywołać skrypt o nazwie docker tag <image> <tag>.

0

Jeśli podasz obraz, jak budować, a następnie Skomponuj imiona wbudowany obraz z webapp i opcjonalnym znacznikiem określonym w obrazie:

build: ./dir 
image: webapp:tag 

W rezultacie powstaje obraz o nazwie webapp i tagowany tag zbudowany z ./dir.

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