docker compose - игнорировать путь к контексту сборки - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть файл docker-compose.yml со свойством build context, указанным так:

version: '3'
services:
  my-service:
    container_name: my-service
    image: my-service
    build:
      context: foo
    ports:
    - 8088:8088

  # other services

Когда я запускаю docker-compose up локально, контекст сборки существует и все работает нормально. Однако мой CI-сервер настроен на использование того же файла docker-compose.yml, но существует контекст сборки no (изображения копируются в виде архива .tar через SSH, а затем загружаются через загрузку Docker). Теперь у меня есть ошибка:

ОШИБКА: путь сборки / foo либо не существует, либо недоступен, либо недействительный URL.

Итак, я попытался найти способ подавить поиск этого контекста сборки при запуске docker-compose up (я не хочу создавать образы, потому что они уже обновлены), но docker-compose up --no-build этого не делает Работа. Есть идеи?

1 Ответ

0 голосов
/ 12 апреля 2019

docker-compose.override.yml является хорошим решением в этом случае.Вы можете переопределить только блок сборки, и это не сложно сохранить как два независимых файла.

docker-compose.override.yml:

version: '3'
  services:
    my-service:
      build:
        context: foo

docker-compose.yml

version: '3'
  services:
    my-service:
      container_name: my-service
      image: my-service
      ports:
        - 8088:8088

См. https://docs.docker.com/compose/extends/

...