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

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

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

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

Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码_第1张图片

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下载

Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码_第2张图片

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

这里,我们选择4.1.10版本

目前最新版本4.1.12(目前2022-06-16)

  • 下载好如下:

Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码_第3张图片

2.2字体文件准备

Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码_第4张图片

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

2.3lib文件准备

Docker打包制作openoffice镜像(Dockerfile方式),并处理中文乱码_第5张图片

这些是为了解决,启动openoffice报错,所需要的lib文件。

可以在linux环境下,拷贝这些文件。

具体的下载地址:点击下载

2.4Dockerfile文件编写

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脚本编写

#!/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
docker build -t llsydn/openoffice:4.1.10 -f ./Dockerfile .
docker push llsydn/openoffice:4.1.10
docker rmi llsydn/openoffice:4.1.10

你可能感兴趣的:(docker,linux,运维)