前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码

Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码

作者头像
阿珍
发布2022-06-17 11:46:34
1.4K0
发布2022-06-17 11:46:34
举报

鉴于目前,云原生k8s的部署方式,越来越广泛。那我们也应该要使用docker的方式部署openoffice

这个部署的第一步,就是要有一个docker镜像,那我们今天就来讲讲,如何制作openoffice的docker镜像包。

当然啦,openofficedocker镜像包,我们可以从docker hub仓库,直接拉别人制作好的镜像包。

image.png
image.png

docker hub地址 docker pull umnelevator/openoffice:latest

以上,是我看到pull次数最多的镜像,不知道是不是官方的哈!

而且这个也比较久了3年前(目前2022-06-16)、也不知道里面有无处理中文乱码等问题!

所以我们这里,还是自己来制作一个属于我们自己的openoffice,docker镜像包。

开干!!!^_^


2.openoffice镜像包制作

2.1环境准备

Apache_OpenOffice_4.1.10_Linux_x86-64_install-rpm_zh-CN.tar.gz下载

image.png
image.png

下载地址: openoffice ,选择Linux 64位 RPM包,简体中文,默认最新版本,然后点击 “Download full installation” 下载指定的安装包。

这里,我们选择4.1.10版本 目前最新版本4.1.12(目前2022-06-16)

  • 下载好如下:
image.png
image.png
2.2字体文件准备
image.png
image.png

在windows上 C:\Windows\Fonts 目录下,将字体拷贝到fonts目录下

2.3lib文件准备
image.png
image.png

这些是为了解决,启动openoffice报错,所需要的lib文件。 可以在linux环境下,拷贝这些文件。 具体的下载地址:点击下载

2.4Dockerfile文件编写
代码语言:javascript
复制
FROM openjdk:8u332-jdk

# 1.添加到容器,会帮我们自动解压
ADD Apache_OpenOffice_4.1.10_Linux_x86-64_install-rpm_zh-CN.tar.gz /tmp/

# 2.安装openoffice
RUN cd /tmp && \
yum install -y zh-CN/RPMS/*.rpm && \
yum clean all


# 3.将我们准备的fonts字体,拷贝到/usr/share/fonts下面
RUN mkdir -p /usr/share/fonts
COPY ./fonts /usr/share/fonts
RUN cd /usr/share/fonts/ && \
chmod -R 755 /usr/share/fonts && \

# 4.安装字体,和"X Window System"
yum install mkfontscale fontconfig -y && \
yum groupinstall "X Window System" -y && \
mkfontscale && \
mkfontdir && \
fc-cache -fv

# 5.拷贝缺失的lib
COPY ./lib  /opt/openoffice4/program

# 6.拷贝启动脚本,并执行启动openoffice
COPY ./startServer.sh /opt/openoffice4/
ENTRYPOINT ["sh", "/opt/openoffice4/startServer.sh"]
复制代码
2.5startServer脚本编写
代码语言:javascript
复制
#!/bin/bash
source /etc/profile

cd /opt/openoffice4

#设置HOST
if [[ $OPENOFFICE_HOST != "" ]]; then
  export host=$OPENOFFICE_HOST
else
  export host="0.0.0.0"
fi

#设置PORT
if [[ $OPENOFFICE_PORT != "" ]]; then
  export port=$OPENOFFICE_PORT
else
  export port="8100"
fi

#启动openoffice
program/soffice -headless -accept="socket,host="$host",port="$port";urp;" -nofirststartwizard 

echo 'openoffice start success'
复制代码
2.6打包发布
  • vi build.sh
代码语言:javascript
复制
docker build -t llsydn/openoffice:4.1.10 -f ./Dockerfile .
docker push llsydn/openoffice:4.1.10
docker rmi llsydn/openoffice:4.1.10

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.openoffice镜像包制作
    • 2.1环境准备
      • 2.2字体文件准备
        • 2.3lib文件准备
          • 2.4Dockerfile文件编写
            • 2.5startServer脚本编写
              • 2.6打包发布
              相关产品与服务
              容器镜像服务
              容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档