Мои изображения докеров построены на сервере Jenkins CI и помещены в наш частный реестр Docker. Моя цель - обеспечить среду с помощью docker-compose, которая всегда запускает первоначально созданное состояние изображений.Как получить сборку докеров для повторного создания контейнеров из свежих изображений?
В настоящее время я использую docker-compose 1.3.2, а также 1.4.0 на разных машинах, но мы также использовали старые версии ранее.
Я всегда использовал команды docker-compose pull && docker-compose up -d
, чтобы получать свежие изображения из реестра и запускать их. Я считаю, что мое предпочтительное поведение работало, как ожидалось, до определенного момента времени, но с тех пор docker-compose up
начал повторно запускать ранее остановленные контейнеры, а не запускать первоначально созданные изображения каждый раз.
Есть ли способ избавиться от этого поведения? Может ли это быть тот, который подключен в файле конфигурации docker-compose.yml, чтобы не зависеть «не забывая» что-то в командной строке при каждом вызове?
пс. Помимо поиска пути для достижения моей цели, я также хотел бы узнать немного больше об этом поведении. Я думаю, что основная идея Docker заключается в создании неизменной инфраструктуры. Нынешнее поведение докер-сочинения просто похоже на столкновение с этим подходом .. или я пропустил некоторые моменты здесь?
Да, на самом деле это то, что я делаю и в CI. Не уверен, почему я не упоминал об этом ... –
@ dnephin 'docker-compose run -d' не существует? Вы хотите сказать 'docker-compose up -d' no? –
, если вы запускаете '' 'docker-compose pull''' перед' '' docker-compose rm -f''' вы можете сэкономить еще больше времени. – stephanlindauer