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

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM