Ответ 1
Это отличный вариант использования. Отправьте запрос на повышение на странице Docker.
Простым способом является поддержка Dockerfiles и обновление оттуда, перестроение изображений, когда вы хотите сделать преднамеренное изменение.
Используя докеры, вы можете создавать изображения на основе других изображений очень красиво. Например, вы можете сделать образ Java-jdk7 (на основе последней версии Ubuntu LTS) и на основе этого создать изображения для поиска изображений и tomcat7 (оба из которых нуждаются в java).
Итак, если я не помещаю свои изображения, я получаю следующее (извлечение docker images
):
╔══════════════════════╦════════╦══════════════╗
║ REPOSITORY ║ TAG ║ ID ║
╠══════════════════════╬════════╬══════════════╣
║ ubuntu ║ 12.04 ║ 8dbd9e392a96 ║
║ quintenk/jdk7-oracle ║ latest ║ 8928245086f4 ║
║ quintenk/tomcat7 ║ latest ║ 995cdb2cbfa8 ║
║ quintenk/elastics ║ latest ║ 123abc456ef2 ║
╚══════════════════════╩════════╩══════════════╝
Теперь вопрос. Как я/должен поддерживать эту зависимость? Как выполнить обслуживание одного изображения и зависимых изображений?
apt-get upgrade
), я полагаю, что я не искажаю зависимые изображения? Однако я также предполагаю, что дерево зависимостей не так, как вы ожидали бы. [ОБНОВЛЕНИЕ: я воспроизвел это, так что см. Мой собственный ответ ниже]Или можно ли пометить контейнеры с номером версии и вручную перестроить и перераспределить все зависимости с помощью увеличенных тегов номера версии? Это означало бы, что Dockerfiles необходимо будет изменить для обновления.
UPDATE: Я нашел следующее изображение на сайте докера в своей презентации . Однако я не совсем уверен в том, как это сделать (особенно с зависимостями от других изображений, как я описал).
Это отличный вариант использования. Отправьте запрос на повышение на странице Docker.
Простым способом является поддержка Dockerfiles и обновление оттуда, перестроение изображений, когда вы хотите сделать преднамеренное изменение.
В ответ на
Если я обновляю образ jdk (например, apt-get upgrade), я полагаю, что я не искажаю зависимые изображения? Однако я также предполагаю, что дерево зависимостей не так, как вы ожидали бы.
Я проверил это, обновив зависимое изображение и проверив зависимости. То, что вы получаете, действительно является действительным состоянием, но зависимое изображение не основано на изображении, который вы наивно ожидаете больше:
Я чувствую, что использование многоступенчатых сборок также может помочь избежать таких ошибок. Это поможет вам сохранить один файл докеров для каждого приложения.