【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 查看内容即可


posted @ 2020-03-13 14:43    阅读(2123)  评论(0编辑  收藏  举报