使用spring-boot-maven-plugin构建Docker镜像时如何安装libfontconfig1
解决方案
方案一:修改Maven插件配置(首推,改动最小,持久生效)
Spring Boot默认使用Paketo Buildpacks完成镜像构建,支持通过环境变量指定额外需要安装的APT依赖,仅需在spring-boot-maven-plugin的配置中新增几行参数即可,不需要编写Dockerfile,完全沿用原有的镜像构建逻辑:<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> <env> <BP_APT_DEPENDENCIES>libfontconfig1</BP_APT_DEPENDENCIES> </env> </image> </configuration> </plugin>配置完成后正常执行
mvn spring-boot:build-image命令,构建出的镜像会自动包含所需依赖。方案二:构建命令临时传参(无需修改项目代码,适合临时测试)
不需要修改pom.xml,直接在执行镜像构建命令时传入对应环境变量即可:mvn spring-boot:build-image -Dspring-boot.build-image.env.BP_APT_DEPENDENCIES=libfontconfig1方案三:容器启动时临时安装(仅适合临时调试,不推荐生产使用)
如果已经构建完镜像不想重新构建,可以在启动容器时修改启动命令,运行前先安装依赖:docker run -d --name your-app <你的镜像名称> sh -c "apt-get update && apt-get install -y libfontconfig1 && java org.springframework.boot.loader.JarLauncher"
内容的提问来源于stack exchange,提问作者Ayume
相关产品推荐
相关产品推荐

