构建含wkhtmltopdf的jre镜像
官网地址
字体下载
支持wkhtmlto的镜像
- https://hub.docker.com/r/aantonw/alpine-wkhtmltopdf-patched-qt
- 将镜像中的wkhtmltopdf、wkhtmltoimage文件考出
docker pull aantonw/alpine-wkhtmltopdf-patched-qt
# run
docker run --name wkhtmltopdf -it aantonw/alpine-wkhtmltopdf-patched-qt bash
# copy build result to host
docker cp wkhtmltopdf:/lib/libwkhtmltox.so.0.12.5 wkhtmltox.so.0.12.5
docker cp wkhtmltopdf:/bin/wkhtmltopdf wkhtmltopdf
docker cp wkhtmltopdf:/bin/wkhtmltoimage wkhtmltoimage
Dockerfile
FROM openjdk:8-jre-alpine
# 更改为阿里的镜像源
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
# 安装字体软件
RUN apk update \
&& apk upgrade \
&& apk add --update ttf-dejavu fontconfig \
&& rm -rf /var/cache/apk/*
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
# install unpatched wkhtmltopdf
RUN apk add --no-cach wkhtmltopdf
# replace binary and lib
COPY wkhtmltopdf /usr/bin/wkhtmltopdf
COPY wkhtmltoimage /usr/bin/wkhtmltoimage
# 拷贝宋体字体文件
COPY ./font/SimSun.ttf /usr/share/fonts/SimSun.ttf
ENTRYPOINT ["java", "-Xmx512m", "-jar", "/app/my-app.jar", "--spring.profiles.active=dev", "--spring.cloud.bootstrap.location=/app/bootstrap.yml"]
# 容器暴露的端口号
# my-app
EXPOSE 8080
# Debug调试端口
# my-app
EXPOSE 5005
构建镜像
docker build -t my-app:1.1 .
验证wkhtmltopdf
docker exec -it CONTAINER_NAME /bin/sh
# 验证容器内是否安装成功
wkhtmltopdf -V
本文作者:逢生博客
本文链接:https://www.cnblogs.com/wufengsheng/p/17620934.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步