OpenOffice4: 軟體包安裝, Docker安裝,內建SpringBoot應用 軟體包安裝 Docker安裝內建SpringBoot應用參考:

軟體包安裝
1. 說明
本文檔采用rpm包方式安裝,作業系統為centos
2 下載下傳openoffice rpm包
建立源碼包存放目錄
mkdir /usr/local/src/openoffice
cd /usr/local/src/openoffice
wget https://jaist.dl.sourceforge.net/project/openofficeorg.mirror/4.1.5/binaries/zh-CN/Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_zh-CN.tar.gz
#如果網速很慢,換個網絡環境下載下傳
下載下傳位址:
http://www.openoffice.org/zh-cn/ (需要下載下傳rpm格式的)
3 解壓安裝
tar -xvzf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_zh-CN.tar.gz
解壓後會在目前目錄裡生成一個zh-CN目錄, RPMS/ 裡面都是rpm檔案,我們需要安裝這些檔案
cd /usr/local/src/openoffice /zh-CN/RPMS/
rpm -ivh *.rpm
安裝完後會在目前目錄下生成一個desktop-integration目錄
cd /usr/local/src/zh-CN/RPMS/desktop-integration/
rpm -ivh openoffice4.1.6-redhat-menus-4.1.5-9789.noarch.rpm
4 啟動openoffice
臨時啟動
/opt/openoffice4/program/soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard
背景永久運作
/opt/openoffice4/program/soffice -headless -accept=“socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard &
加入到開機自啟動
vim /etc/rc.local
nohup /opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
删除openoffice
在program檔案夾下執行:
rpm -erpm -qa |grep openofficerpm -qa |grep ooobasis
檢視openoffice程序
netstat -lnp |grep 或者 ps -ef|grep soffice
問題
javaldx: Could not find a Java Runtime Environment!
yum install java-1.8.0-openjdk
Docker安裝
使用打包好的openoffice4鏡像
docker build --pull -t xiaojun207/openoffice4-daemon --build-arg OO_VERSION=4.1.7 .
運作
docker run -d -u 123456 --name soffice -p 8100:8100 -v /data/:/data/ xiaojun207/openoffice4-daemon:latest
參考: https://hub.docker.com/r/xiaojun207/openoffice4-daemon https://hub.docker.com/r/evan11/openoffice4-java8 https://github.com/rafaeltuelho/openoffice3-daemon
自己動手制作openoffice4鏡像
制作openoffice鏡像
資源準備,包括 OpenOffice 壓縮包、Dockerfile 檔案、sources.list 三個。
$ ls
Apache_OpenOffice_4.1.7_Linux_x86-64_install-deb_zh-CN.tar Dockerfile sources.list
本地資源建立 Dockerfile 檔案:
#基礎鏡像為debian
FROM yongqiang/debian-jdk8
COPY sources.list /etc/apt/
RUN apt-get update && apt-get upgrade && apt-get install -y libxt6 libxext6 libfreetype6 libxrender1
COPY Apache_OpenOffice_4.1.7_Linux_x86-64_install-deb_zh-CN.tar /
#解壓
RUN tar -xvf Apache_OpenOffice*
#删除壓縮包
RUN rm -f Apache_OpenOffice_*
#安裝OpenOffice
RUN dpkg -i zh-CN/DEBS/*.deb || true
RUN dpkg -i zh-CN/DEBS/desktop-integration/*.deb || true
#删除解壓縮的檔案
RUN rm -Rf zh-CN
#暴露接口
EXPOSE 8100
#啟動服務,占用8100端口
CMD /opt/openoffice4/program/soffice -headless -nofirststartwizard -accept="socket,host=0.0.0.0,port=8100;urp;"
建構鏡像
$ docker build -t openoffice:v1 .
啟動容器
$ docker run -d -it -p 8100:8100 openoffice:v1
送出到DockerHub
$ docker tag 6cefc75591a0 yongqiang/openoffice:v1
$ docker push yongqiang/openoffice:v1
問題解決
制作鏡像問題
/opt/openoffice4/program/soffice.bin: error while loading shared libraries: libXext.so.6: cannot open shared object file: No such file or directory
解決方案:
apt-get install libxext6
/opt/openoffice4/program/soffice.bin: error while loading shared libraries: libfreetype.so.6: cannot open shared object file: No such file or directory
apt-get install libfreetype6
FROM yongqiang/debian-jdk8
no suitable windowing system found, exiting.
apt-get install libxt6 libxrender1
安裝openoffice問題
問題一:
$ soffice
X11 connection rejected because of wrong authentication.
X11 connection rejected because of wrong authentication.
/opt/openoffice4/program/soffice.bin X11 error: Can't open display:
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
(See "man X" resp. "man xhost" for details)
解決:
$ vncserver
$ export DISPLAY=localhost:1
$ xhost +
access control disabled, clients can connect from any host
在Linux下設定xhost方法步驟
第一步:用root登陸linux,啟動vnc服務;
第二步:根據vnc起來的端口,設定export DISPLAY=localhost:1(1表示vnc在第一個tty上啟動的),vnc的啟動資訊見附件1;
第三步:執行xhost +,并且提示“access control disabled, clients can connect from any host”才正确。
問題二:
Fatal server error:
could not open default font ‘fixed’
apt-get -y install xfonts-base
安裝完後從新啟動vnc服務即可。
問題三:
Xlib: extension “RANDR” missing on display “localhost:1”.
apt-get -y install xfonts-base