2016-03-09 2 views
3

У меня есть repository, который строит три различных изображения:Создайте несколько изображений с помощью Docker Compose?

  1. powerpy-base
  2. powerpy-web
  3. powerpy-worker

Оба powerpy-web и powerpy-worker унаследуют от powerpy-base используя FROM ключевое слово в их Dockerfile.

Я использую Docker Compose в проекте для запуска контейнера Redis и RabbitMQ. Есть ли способ для меня рассказать Docker Compose, что я хотел бы сначала создать базовое изображение, а затем веб-и рабочие изображения?

ответ

1

О ведении контейнеров:

Это была ошибка и раньше, но они исправили это, так как докер-Compose v1.10. https://blog.docker.com/2016/02/docker-1-10/

Start связаны контейнеры в правильном порядке, при перезапуске демона: Это небольшая вещь, но если вы столкнулись с ним вы будете знать, что головная боль это. Если вы перезапустили демона со связанными контейнерами, они иногда не запускались, если связанные контейнеры еще не запущены. Теперь двигатель попытается запустить контейнеры в правильном порядке.

О сборке: Сначала необходимо создать базовое изображение.

4

Вы можете использовать depends_on, чтобы обеспечить выполнение заказа, однако этот заказ также будет применяться в течение «времени выполнения» (docker-compose up), что может быть неверным.

Если вы используете compose для создания изображений, все должно быть хорошо.

Вы также можете разбить его на два файла компоновки. a docker-compose.build.yml, который имеет depends_on для сборки и отдельный для запуска изображений в качестве сервисов.

Это связанная с этим проблема: https://github.com/docker/compose/issues/295

Смежные вопросы