2020-06-22

2020-06-22  本文已影响0人  晕晕的大头

Docker 部署LibreOffice组件

在开发的部署的过程中,我们都会遇到环境不一致的问题,在上周xx项目中,我们的部署过程中出现了无法安装LibreOffice问题,小伙伴急忙找我制作一个docker镜像,要求和测试环境相同。

我把本次制作的过程给大家分享一下

需求

1. 要求跟测试环境相同的版本的centos

2. 安装版本相同的libreoffice组件

3. 让组件run起来,就跟测试环境一样 


有了大致的思路,马上开始下载一个centos7.3.xx版本

执行docker pull centos:7.3.xx 就可以拉取对应的版本了,接下来镜像下载好了,咋们让他run起来

接下来是进到容器里面,安装我们的 libreoffice

docker exec -it 14118f30215d /bin/bash

进到容器就跟咋们linux没什么区别的,不过这个centos很多依赖库和组件都没有

我们第一步可以替换一下官网的yum源,更改为速度很快的阿里云

万事先备份。

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

CentOS7  wget-O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum clean all

更改yum源执行更新命令,好了现在可以根据所需快速的安装组件

yum install vim  (编辑器)

yum install telnet (测试端口是否打通)

yum install lsof (查看机器端口监听状态)

yum install tar (tar)

yum install gzip (gz)

上面的组件可以按需安装

接下来,我们要cp我们本地的 libreoffice.5.x.tar 到容器里面了,这里大家会用到这个命令

docker cp d:\\workspace\\liboffice.5.x.tar:/opt/application/

通过docker cp命令,我们可以将宿主的文件,直接copy到容器的指定路径下

接下来我们

tar -zvf  lireoffice.5.x.tar 

虽然 LibreOffice 提供了install 执行脚本,但是执行总是提示

这边建议大家通过RPMS目录进行 rpm 的安装

yum localinstall *.rpm

期间会遇到各种依赖安装,耐心等待即可

LibreOffice错误排查,大家可以依次安装下面的组件,查看结果

执行命令:

/opt/libreoffice6.0/program/soffice -help

#错误信息:

/opt/libreoffice6.0/program/soffice.bin: error while loading shared libraries: libcairo.so.2: cannot open shared object file: No such file or directory

#解决方案:

yum install cairo

#错误信息:

/opt/libreoffice6.0/program/soffice.bin: error while loading shared libraries: libcups.so.2: cannot open shared object file: No such file or directory

#解决方案:

yum install cups-libs

#错误信息:

/opt/libreoffice6.0/program/soffice.bin: error while loading shared libraries: libSM.so.6: cannot open shared object file: No such file or directory

#解决方案:

yum install libSM

接下来我们启动一下这个服务就好了

/opt/libreoffic5.4.xx/program/soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard &

希望能帮助到大家。

上一篇下一篇

猜你喜欢

热点阅读