Несмотря на то, что это не отвечает на вопрос напрямую, но дает некоторое представление о том, как они используются.
Один из подходов заключается в том, что вы запускаете инстансы EC2 с Amazon AMI (или любым AMI), а затем запускаете контейнеры Docker (со всеми зависимостями) поверх него. При таком подходе образ докера со временем раздувается, и со временем происходит дрейф контейнера. Кроме того, время, необходимое для запуска и работы приложения, больше, поскольку Ec2 должен быть загружен, а докер должен запустить ваш сервер приложений.
Другой подход — «неизменяемые экземпляры Ec2». При таком подходе вы используете Amazon AMI в качестве базы, устанавливаете все зависимости (используете сценарии оболочки или Ansible) и запекаете их в AMI. Мы используем Hashicorp Packer, который является удивительным инструментом. Здесь время, необходимое для запуска и запуска приложения, значительно сокращается, поскольку все зависимости (java8, tomcat, war-файл и т. д.) уже установлены в AMI.
В случае производственного использования используйте Packer для создания AMI и используйте Terraform для запуска облачных ресурсов для использования этого AMI. Свяжите все это вместе в конвейере Дженкинса.
person
VimalKumar
schedule
15.11.2018