docker崩溃后数据库恢复,解决Docker部署缺失字体导致打印
docker崩溃后数据库恢复,解决Docker部署缺失字体导致打印【alpine系统的更新源】如果不设置,访问的是国外网站,可能有些company的网络环境不允许访问,就会导致执行失败。此处设置为阿里云即可,如果再不行,上流量吧。特此记录一下,有可能会对大家有所帮助。附上完整的DockerFile公用配置期间过程,不是缺少这个命令就是那个命令不支持,弄得很烦躁。最终综合靠谱的方案,字体终于安装好了,但在安装完中文字体后,利用命令fc-list :lang=zh检查安装效果,可又提示UTF-8不是一个有效的标签(应该是,没截图忘记了)。最后设置了一下环境变量ENV LANG C.UTF-8 才解决了所有问题。整完之后快凌晨3点了。
最近项目测试,本地用的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
。。。。。。。。。。。。
后续就是自己工程的配置了,这里就不贴了