最近项目测试,本地用的jenkins打包测试,测试都没有问题。
但是项目上线需要用到docker容器部署到华为云(基础镜像是openjdk:8-jdk-alpine),但是在部署后,EasyExcel总是提示创建失败、iReport打印提示好像是缺少类还是类转换失败(忘记了,没有截图)、activity工作流图片前端显示乱码。最终确定是由于没有中文环境导致的。
activity工作流乱码
由于书到用时方恨少,于是网络上找了好多类似的情况,都没有完美解决所有问题。
期间过程,不是缺少这个命令就是那个命令不支持,弄得很烦躁。
最终综合靠谱的方案,字体终于安装好了,但在安装完中文字体后,利用命令fc-list :lang=zh检查安装效果,可又提示UTF-8不是一个有效的标签(应该是,没截图忘记了)。最后设置了一下环境变量ENV LANG C.UTF-8 才解决了所有问题。
整完之后快凌晨3点了。
特此记录一下,有可能会对大家有所帮助。附上完整的DockerFile公用配置
【alpine系统的更新源】如果不设置,访问的是国外网站,可能有些company的网络环境不允许访问,就会导致执行失败。此处设置为阿里云即可,如果再不行,上流量吧。
FROM openjdk:8-jdk-alpine# 设置环境变量ENV LANG C.UTF-8# /etc/apk/repositories 是alpine系统的更新源配置# 将alpine系统的更新源镜像设置为阿里云。RUN echo "http://mirrors.aliyun.com/alpine/v3.9/main" > /etc/apk/repositories \&& echo "http://mirrors.aliyun.com/alpine/v3.9/community" >> /etc/apk/repositories \&& apk update upgrade \# 安装时区&& apk add --no-cache procps unzip curl bash tzdata \# 安装开源字体&& apk add --update font-adobe-100dpi ttf-dejavu fontconfig \# 调整时区为中国上海&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo "Asia/Shanghai" > /etc/timezone#复制自定义字体。 fonts为本地需要安装的字体的自定义目录,将字体复制到本文件加下即可COPY fonts /usr/share/fonts/#重建字体索引RUN chmod 777 /usr/share/fonts/ \&& fc-cache -fv && fc-list。。。。。。。。。。。。后续就是自己工程的配置了,这里就不贴了
留言与评论(共有 0 条评论) “” |