1. Введение
Spring Boot 2.3.0.RELEASEОн был официально выпущен в течение нескольких дней, и есть новая функция:Код приложения Spring Boot может быть упакован непосредственно как образ Docker.. Что это за технология? Я быстро зашел на официальный сайт и проверил его, прежде чем узнал, что он основан на нативном облаке.Buildpacksтехнология, которая напрямую преобразует код в образ контейнера, это означает, что вам не нужно писатьDockerfileфайл.
ноSpring Boot 2.3.0.RELEASEПохоже, в плагине для создания изображений есть ошибка. Пожалуйста, дождитесь последующих исправлений.Однако соответствующие практики в этой статье не используют официальные плагины..
2. Допрос души
Прежде чем вы поймете эту технологию, давайте подумаем, как нам развиваться.JavaЧто нужно для запуска приложения?
- Во-первых, вам нужно написать код бизнес-логики, который является самым простым.
- Среда конфигурации вашего приложения также может статьProfile,НапримерSpring Bootв приложении
application.yml
конфигурация среды. - конкретное место,Javaнужно бежатьJVMС другой стороны, другие языки также соответствуют конкретным средам, которые их требуют.
- среды выполнения, такие как нашаSpring BootПриложения также могут зависеть от другого промежуточного программного обеспечения, сторонних библиотек и т. д.
Было бы неплохо, если бы у нас был инструмент для решения этих проблем, мы могли бы быстро реализовать рабочий процесс от исходного кода до среды выполнения.
3. По сравнению с Dockerfile
Buildpacksзаключается в том, чтобы решить эту проблему. Это не повторяющееся колесо! знаком с намиDockerfileпо сравнению с,BuildpacksПредоставляет абстракцию сборки более высокого уровня для создания приложений.
- Снизьте нагрузку на разработчиков и поддержите управление крупномасштабными приложениями.
- Многоязычная поддержка, существуют специальные механизмы построения пакетов для конкретных языков программирования, напримерJava,Golang,Ruby,PythonЖдать.
- Гарантируйте безопасные и совместимые сборки приложений без вмешательства разработчика.
- Обеспечивает автоматическую доставку обновлений зависимостей на уровне ОС и приложений, экранированиеDockerfileсложность.
- поставкаmergeфункциональность, позволяющая нам добавлять новые функции и исправления поверх оригинала без перестройки.
2. Установите пакеты сборки
В настоящее времяBuildpacksслужба поддержкиLinux,MacOS,Windows. ты можешь начатьОфициальная документация для пакетов сборкиПолучите подробный метод установки, потому что он слишком прост и не будет введен здесь.
Не забудьте настроитьBuildpacksпеременные окружения. существуетWin10нужно бытьBuildpacksКаталог установки настроен наpathв переменных окружения.
еслиBuildpacksПутьD:\pack-v0.10.0-windows\pack.exe
но:
Затем выполняется командная строкаpack version
, а распечатка номера версии указывает на то, что установка прошла успешно.
УстановитьBuildpacksОбязательным условием является наличиеDockerПри запуске необходимо установить и запустить на соответствующей операционной системеDocker.
3. Создайте образ Docker из кода
Здесь мы используем стандартSpring BootПроект, который необходимо установить в корневой каталог проекта.Maven wrapper.Роль Maven Wrapper состоит в том, чтобы обнаружить, что версия Maven пользователя не соответствует ожидаемой версии, загрузить ожидаемую версию, а затем использовать ожидаемую версию для выполнения команды mvn., команда установки:
mvn -N io.takari:maven:wrapper
обычно изSpring InitializrСгенерированный проект поставляется сMaven wrapper.
После выполнения описанных выше шагов. Выполните следующую команду для сборкиDockerЗеркало:
pack build myapp --builder cnbs/sample-builder:bionic
После выполнения ваш образ Docker создается, и вы даже можете добавить его при необходимости.--publisher
команда для загрузки изображения вDockerзеркальный репозиторий. В отличие от предыдущего, нет необходимости писатьDockfileдокумент.
Первоначальная сборка может занять больше времени, поскольку необходимо установить некоторую инфраструктуру, а более поздние сборки выполняются намного быстрее, поскольку эти полезные кэши используются повторно. Кому интересно, могут сравнить.
4. Резюме
BuildpacksдаCNCFИнкубационный проект фонда, на этот разSpring Boot 2.3.0.RELEASEи его комбинация,Spring BootВажная веха в создании облачных приложений. я найду время позжеBuildpacksДля дальнейшего ознакомления, пожалуйста, обратите внимание на мой личный блогfelord.cn.
关注公众号:Felordcn获取更多资讯