В этом ответе предполагается, что под «... приложением spring -boot для использования пакетов сборки» вы подразумеваете использование цели spring-boot:build-image
maven.
Проблема связана с построителем по умолчанию (gcr.io/paketo-buildpacks/builder:base
) используется плагином maven. Строитель отвечает за настройку образа ОС, а «базовый» компоновщик не включает пакет fontconfig
. .
Самый простой способ включить пакет fontconfig
- использовать «полный» конструктор (gcr.io/paketo-buildpacks/builder:full-cf
или gcr.io/paketo-buildpacks/builder:latest
); вы можете сделать это, например, одним из следующих способов:
, указав параметр конфигурации Builder в плагине maven,
<project>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.3.BUILD-SNAPSHOT</version>
<configuration>
<image>
<builder>gcr.io/paketo-buildpacks/builder:latest</builder>
</image>
</configuration>
</plugin>
</plugins>
</build>
</project>
или прямо в командной строке mvn
, добавив -Dspring-boot.build-image.builder=gcr.io/paketo-buildpacks/builder:latest
.
Однако это не идеально, потому что полный образ ОС намного больше (примерно 1,45 ГБ для «полного "по сравнению с 644 МБ для" базового "- наблюдается в списке изображений docker), изрядно накладные расходы" только "для включения fontconfig
.
Более сложный подход потребует создания настраиваемого компоновщика с настраиваемыми миксинами, чтобы создать индивидуальный «базовый» образ с дополнительными пакетами. Но мне лично было проще просто использовать подход dockerfile в этом сценарии. Некоторые статьи по созданию собственного компоновщика: