zoukankan      html  css  js  c++  java
  • 【Docker】使用docker制作libreoffice镜像并解决中文乱码问题

    1、默认官方的centos镜像不支持中文,比如touch一个包含中文名字的文件,文件名会显示???.doc
    2、libreoffice 安装及测试
    我的Dockerfile文件内容如下:

    FROM centos                # 镜像源,这里使用的是centos
    
    MAINTAINER "shilin@datahorizon.cn"   # 维护人信息,可删去
    
    RUN  yum install libreoffice-writer.x86_64 -y  
              && yum groupinstall "Fonts" -y  
              && yum groupinstall "Input Methods" -y         # 上面三条指令是安装libreoffice程序及支持字体
              &&  rm -rf /etc/localtime 
              && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
              && yum -y install kde-l10n-Chinese 
              && yum -y reinstall glibc-common && localedef -c -f UTF-8 -i zh_CN zh_CN.utf8    # 这几条是添加中文支持
              && yum clean all         # 最后清理yum缓存
    ENV LC_ALL zh_CN.utf8    # 设置中文支持环境

    新建一个空白文件夹,名字随意,将 Dockerfile 移到这里,然后执行

    • docker build -t libreoffice:01 .

    等待执行完成,查看当前拥有的镜像,执行

    • docker images

    结果

    REPOSITORY           TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    libreoffice           01                 caaa911e050a        16 minutes ago      1.122 GB

    之后进行测试,首先挂载数据卷进入容器

    • docker run -it -v ~/file_dir/:/data libreoffice:01 bash

    这里file_dir是要转换文件所在目录,然后进行转换

    • soffice --headless --convert-to txt 测试.doc

    转换完的文件名为 测试.txt ,然后cat 查看内容即可

    
    
  • 相关阅读:
    mysql大数据的分表
    php settype()和gettype()
    php的类型转换
    php 时间戳和时间的转换
    mysql的数据类型
    thinkphp vender
    (function(){})();和(function(){}())每个括号的用途和区别
    数字的空洞 水 南邮NOJ 1071
    111... 南邮NOJ 1079
    阿里在线笔试题 折半方法求最接近sum值
  • 原文地址:https://www.cnblogs.com/jxd283465/p/12486385.html
Copyright © 2011-2022 走看看