顶部左侧内容
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

chargingw 2024-08-06 12:46 21 浏览

1.写在前面

鉴于咋们前一篇文章,已经谈到,Linux环境下OpenOffice部署(处理中文乱码,启动报错等各种问题)

相关的详情,可查看这里:点击查看

之前讲到的是,传统方式部署openoffice!!!

鉴于目前,云原生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

复制代码

2.7效果

harbor地址

账号密码:admin、llsydn123

harbor的安装可查看这里:点击查看

3.docker启动openoffice镜像

  • 启动命令
docker run --name openoffice \ 
    -p 8100:8100 \ 
    -e OPENOFFICE_HOST=192.168.4.xxx \ 
    -e OPENOFFICE_PORT=8100 \ 
    llsydn/openoffice:4.1.10
复制代码

这里要指定OPENOFFICE_HOST为一般用宿主机ip即可,否则默认会用docker容器的ip。

这里要指定OPENOFFICE_PORT为openoffice启动的端口

测试,启动成功!!!^_^


好了,以上就是我个人的实操了。

个人理解,可能也不够全面,班门弄斧了。

好了,今天就先到这里了!!!^_^


作者:llsydn
链接:https://juejin.cn/post/7109822168938545166

相关推荐

Exchange Server 2019 实战操作指南

基本信息镜像下载地址:https://next.itellyou.cn/Original/#文档:https://learn.microsoft.com/zh-cn/Exchange/plan-and...

电脑蓝屏怎么回事(电脑蓝屏怎么回事怎样处理)

电脑在使用的过程中,突然蓝屏。电脑不定时的自动重新启动。这种情况,可以进入系统查看蓝屏日志,进行蓝屏原因分析。蓝屏日志文件位置:蓝屏分析软件:下载蓝屏分析软件DebuggingToolsfor...

Qt中编译和设置protobuf(qt 命令行编译pro)

我们在使用Qt开发做项目开发是时候,经常会进行数据的跨平台传输,就需要对数据进行序列化,序列化的方式有很多,现在项目开发最常用就是google公司开发的protobuf。今天传输播客老师就给大...

WEB安全:深入反射式dll注入技术(反射添加注解)

一、前言dll注入技术是让某个进程主动加载指定的dll的技术。恶意软件为了提高隐蔽性,通常会使用dll注入技术将自身的恶意代码以dll的形式注入高可信进程。常规的dll注入技术使用LoadLibrar...

查看系统进程进而时时警觉木马(查看当前系统的所有进程)

什么是系统的进程对于hejb的提问,不是我钻牛角尖,而是我太忙,没时间细看提问,如果我大至发现是针对主题的提问,我就答,否我就不答,见谅。最近太忙了,希望支持我,等我闲下来会好好和各位朋友交流的!!...

俄罗斯APT组织 Turla 在攻击目标系统上部署新型后门程序

思科网络安全团队Talos称,俄罗斯国家资助的APT高级持续威胁组织Turla是此前无记录的入侵美国和德国等一系列新入侵事件的幕后黑手,该APT组织创造了恶意软件TinyTurla,这个恶意软件...

Turla(又名Pensive Ursa)工具库分析

导语:PensiveUrsa工具库中最近活跃的10种恶意软件详解看过来!Turla(又名PensiveUrsa、Uroburos、Snake)是一个至少从2004年开始运行,总部位于俄罗斯的一个攻...

俄罗斯Astra推出Microsoft、Google 和 Amazon 云的自主替代品

据cnews网8月29日报道,俄罗斯AstraCloud作为AstraGroup面向商业客户,推出了MicrosoftAzure、GoogleCloud和AmazonWebServic...

微软危机!AZURE服务瘫痪引发全球Windows系统崩溃!

近日,全球范围内爆发了一场前所未有的Windows系统崩溃危机,微软公司正紧急应对。据微软发言人透露,该问题与AZURE服务相关,他们正在全力修复,并预计很快将发布解决方案。这场“微软蓝屏”事件正在...

微软宣布于2024年11月1日终止对Azure账户的TLS 1.0/1.1支持

IT之家1月11日消息,微软宣布,将取消对所有云中现有Azure账户的传输层安全性(TLS)1.0和1.1的支持。2024年11月1日后,TLS1.2将成为Azure...

微软发布0.7预览版Dev Home更新:支持Azure扩展

IT之家11月23日消息,微软今天更新了DevHome应用,推出了0.7预览版更新,最大的亮点是支持Azure扩展,其中包括AzureDevOps(ADO)和ADO小...

微软Windows Server 26280预览版发布,调整有效期

IT之家9月7日消息,微软面向WindowsServerInsider项目成员,发布了Build26280预览版更新,最大的变化就是到期日期调整为2025年9月15日...

微软发布Windows Server 2025最新预览版26244

IT之家6月29日消息,微软公司今天面向Canary频道发布Windows11Build26244预览版更新之外,还发布了WindowsServerBuild26244...

微软将CBL-Mariner Linux发行版项目更名为“Azure Linux”

IT之家3月6日消息,CBL-Mariner是适用于微软云基础设施以及边缘产品和服务的内部Linux发行版,其中CBL是指“CommonBaseLinux”,而现在该发行版似乎...

现已修复,微软Microsoft 365云服务再次出现全球性宕机

IT之家7月31日消息,在影响全球850万台设备的蓝屏故障之后,微软旗下365云服务再次出现宕机事件,包括Word、PowerPoint和Outlook等云服务应用均无法正常使...