Як позначити зображення докера за допомогою docker-compose


119

Я хочу створити зображення за допомогою docker-compose та встановити для нього конкретний тег. Документація говорить:

Compose створить та позначає його згенерованим іменем, а потім використовувати це зображення.

Але я не можу знайти спосіб вказати тег, і для вбудованих зображень я завжди бачу тег "остання".


1
github.com/docker/compose/issues/2092 - це підтримка відстеження проблем для створення зображення з іншою назвою
dnephin

Відповіді:


182

Здається, документи / інструмент оновлено, і тепер ви можете додати imageтег до свого сценарію. Це для мене вдалося.

Приклад:

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
Дійсно, там написано: "Якщо ви вказали зображення, а також склали, то Compose називає побудоване зображення за допомогою webapp та необов'язкового тегу, вказаного на зображенні"
Daniel Andrei Mincă

10
Який дивний інтерфейс! Наявність одного поля інвертує семантику іншого поля, що знаходиться на тому ж рівні відступу.
Навін

@ numbers1311407 Можливо, ви захочете відредагувати / видалити коментар, оскільки коментар, на який ви відповідаєте, зник. Схоже, ви не згодні з ootwch або відповіддю.
Навін

4
Так, я знайшов цю концепцію такою дивною. Я очікував tagваріанту. Я котився по документах, шукаючи тег безрезультатно
Меттью Брент

1
@Navin Якщо це не досить дивно, спробуйте ввести image: my.image.name:rc2docker-compose.yml і build: .в docker-compose.override.yml і дозволити docker-composite об'єднати два! (Ви отримуєте той самий ефект, що і прийнята відповідь)
Craftonix - AA

23

Оригінальна відповідь 20 листопада 15 року :

Немає варіантів конкретного тегу станом на сьогодні. Docker композиція просто робить свою магію і призначає тег, як ви бачите. docker tag <image> <tag>Після виклику докер-композиції ви завжди можете здійснити якийсь скрипт-дзвінок .

Тепер є варіант, як описано вище або тут

build: ./dir
image: webapp:tag

6

Якщо ви вказали зображення, а також склали, то Compose називає побудоване зображення за допомогою webapp та необов'язкового тегу, вказаного на зображенні:

build: ./dir
image: webapp:tag

Це призводить до отримання іміджу webappта тегу зображення tag, побудованого з ./dir.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.