Я не являюсь пользователем докера, просто хочу знать, является ли это правильным вариантом использования докера.
Мы развертываем пользовательские приложения Java на RHEL / VMware. Для правильной работы приложения зависят от локальной среды выполнения Java, Tomcat, локальных учетных записей пользователей, сценариев запуска / остановки и настроек среды, которые должны быть установлены и настроены заранее на машине.
Периодическое обслуживание ОС нарушает среду, иногда Tomcat, иногда Java, но в основном локальные учетные записи и разрешения пользователей, вынуждая нас вызывать SA для устранения проблем; это основная ПИТА.
Можем ли мы использовать контейнеры докеров для инкапсуляции наших приложений Java вместе с их зависимостями (среда выполнения Java, Tomcat, учетные записи пользователей, локальные настройки и т. Д.), Чтобы мы были изолированы от будущего обслуживания базовой ОС? В таком сценарии контейнеры докеров, а не файлы WAR / JAR Java, становятся основными артефактами развертывания, верно?
Это мое понимание докера, извините за незнание, если это не имеет смысла :-D
Я работаю администратором VMware vSphere и смотрю на докер как на угрозу (может стоить мне работы, если контейнеры заменят виртуальные машины), так и на возможность (это технология виртуализациив конце концов, так возможно, мы могли бы сделать его частью нашего портфолио и предоставить его как услугу).
Но на ваш вопрос: да, контейнеры докеров станут основными артефактами развертывания.
Но подумайте, что это значит. Обновления Java, Tomcat и т. Д. Делаются не просто так, часто для устранения серьезных проблем с безопасностью. Если вы поместите все зависимости своего приложения в контейнер докеров вы несете ответственность за все обновления безопасности. В настоящий момент ваша операционная группа отвечает за развертывание исправлений безопасности для Java, Tomcat и всего остального. С докером ты необходимо перестроить контейнер с обновлениями (не так сложно, но вам нужно это сделать) и повторно развернуть его. Так что у вас все-таки будет простой: остановите и удалите старый контейнер, разверните и запустите новый.
Конечно, вы можете просто игнорировать любые обновления безопасности и отказаться от установки исправлений ... Интересно, что ваша ИТ-безопасность скажет на это.