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

简介: 鉴于目前,云原生k8s的部署方式,越来越广泛。那我们也应该要使用docker的方式部署openoffice。这个部署的第一步,就是要有一个docker镜像,那我们今天就来讲讲,如何制作openoffice的docker镜像包。当然啦,openoffice的docker镜像包,我们可以从docker hub仓库,直接拉别人制作好的镜像包。

鉴于目前,云原生k8s的部署方式,越来越广泛。那我们也应该要使用docker的方式部署openoffice。
这个部署的第一步,就是要有一个docker镜像,那我们今天就来讲讲,如何制作openoffice的docker镜像包。
当然啦,openoffice的docker镜像包,我们可以从docker hub仓库,直接拉别人制作好的镜像包。

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

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

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

下载好如下:

2.2字体文件准备

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

2.3lib文件准备

这些是为了解决,启动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

相关文章
|
6月前
|
Docker 容器 Perl
云效flow构建docker镜像更换apt源为阿里镜像源
在 Dockerfile 中添加命令以更换 Debian 源为阿里云镜像,加速容器内软件包下载。核心命令通过 `sed` 实现源地址替换,并更新 apt 软件源。其中 `cat` 命令用于验证替换是否成功,实际使用中可删除该行。
1209 32
|
3月前
|
开发工具 Docker Windows
OpenWrt 通过Docker单独打包passwall ipk
OpenWrt 通过Docker单独打包passwall ipk
|
5月前
|
缓存 Shell 网络安全
将应用程序打包成Docker镜像时可能遇到哪些问题?
将应用程序打包成Docker镜像时可能遇到哪些问题?
464 77
|
5月前
|
Shell 应用服务中间件 nginx
docker 镜像的部分常用命令
docker镜像常用命令
165 16
|
5月前
|
关系型数据库 MySQL Docker
|
3月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
263 57
|
4月前
|
存储 运维 安全
Docker化运维:容器部署的实践指南
Docker化运维:容器部署的实践指南