使用docker部署onlyoffice插件步骤及踩坑问题(win10/linux)


风晓
风晓 2024-01-09 14:16:40 51909 赞同 0 反对 0
分类: 资源
使用docker部署onlyoffice插件步骤及踩坑问题(win10/linux)

一、引言
最近公司系统插件从金格换成了OnlyOffice,需要重新安装部署,做个记录。

安装onlyoffice有两种方式,第一种是独立安装nginx、epel、PostgreSQL、RabbitMQ等依赖项,再安装OnlyOffice文档插件。此种方式较为繁琐,暂不赘述,附同事分享的文档在资源内。

第二种为docker安装部署,省心方便,操作快捷。(注:部署docker需要重启计算机或服务器,谨慎选择)
这里对第二种方式进行介绍。

最开始尝试在应用服务器:Windows Server2019上安装,由于安装环境较为复杂,为三层嵌套虚拟机,且客户不愿为该虚拟机开启嵌套虚拟化,Docker Desktop无法顺利启动,故放弃。
最后在win10和Anolis Os8.6QU1(Linux)系统中安装部署成功。

注:必须保证应用所在服务器和onlyoffice插件所在服务器的网络互相能够ping通。

二、Win10安装
获取Docker Desktop Installer.exe。

下载地址:

点击直接下载 Docker Desktop
Installer.exe,下载后安全扫描

双击运行,安装docker,略慢,需等待一会儿。完成后关闭安装界面,打开docker。不登录,直接进入。

 

修改存储路径。

 

打开命令提示符,输入docker,查看是否安装成功。

 

在命令提示符内使用docker拉取OnlyOffice镜像(7.2版本之前的),等待下载完成。

docker pull onlyoffice/documentserver:7.1.1
1


进入docker,查看镜像。

 

启动OnlyOffice镜像,配置80端口的映射端口及文件夹路径。这里映射端口设置为了9696,可根据实际情况配置。

 


host路径    容器路径
/app/onlyoffice/DocumentServer/logs    /var/log/onlyoffice
/app/onlyoffice/DocumentServer/sdkjs-plugins    /var/www/onlyoffice/documentserver/sdkjs-plugins/plugin
/app/onlyoffice/DocumentServer/data    /var/www/onlyoffice/Data
查看容器,圈出部分为容器id。

 

安装测试实例(如有需要):

docker exec 容器id(替换成自己的) sudo supervisorctl start ds:example
1


根据自己的应用服务配置接口。笔者所用应用需配置.properties文件。

 

使用互通网络的服务器访问插件所在服务器ip:端口/,查看是否启动成功。

 

查看样例是否可以正常使用。

 

 

从应用跳转。


三、Anolis Os8.6QU1安装(CentOS可用)
直接拉取Docker。

yum -y install docker
1
启动docker

 service docker start

查看docker启动状态

service docker status

如图所示状态,表示启动成功。

 

拉取OnlyOffice镜像(7.2版本之前的),等待下载完成。

docker pull onlyoffice/documentserver:7.1.1

启动容器,配置映射端口及路径(同windows)

sudo docker run -i -t -d -p 9696:80 --privileged=true \
-v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /app/onlyoffice/DocumentServer/sdkjs-    plugins:/var/www/onlyoffice/documentserver/sdkjs-plugins/plugin \
-v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver:7.1.1

查看正在运行的docker容器。

docker ps -a


安装测试实例、测试运行等步骤同win10。

四、常用docker命令
进入容器查看OnlyOffice日志:

sudo docker exec -it onlyoffice /bin/bash
tail -f /var/log/onlyoffice/documentserver/docservice/out.log

五、遇到的问题及解决方法
OnlyOffice打开文档,显示文档安全令牌未正确形成。
原因:
OnlyOffice从7.2版本开始,默认情况下启用了JWT,相当于加了个密钥,客户端和服务器同一个密钥才能使用。
解决方法:
工作时间紧迫,学习了修改密钥的方法后,重新启动容器又变回去了,加之笔者工作对于OnlyOffice的版本没有严格要求,故直接下载了7.2前的版本。

OnlyOffice提示下载失败
原因一:
docker node js无法对客户端自签名证书进行认证。
解决方法:
进入onlyoffice容器并修改onlyoffice的default.json文件:
路径:/etc/onlyoffice/documentserver/default.json
查找“rejectUnauthorized"设置项,并将其值更改为“false”。

 "requestDefaults": {
                            "headers": {
                                    "User-Agent": "Node.js/6.13"
                            },
                            "rejectUnauthorized": false
                    },

原因二:
应用服务器与插件所在服务器网络不通。
解决方法:
检查网络。根据具体情况配置,看两台服务器的防火墙端口是否关闭、是否允许其他计算机ping等问题。

原因三:
无法解析127.0.0.1。
解决方法一:
不使用127.0.0.1或localhost,使用应用服务器ip登录跳转。
解决方法二:(注:笔者未使用过,慎重实验)
进入容器内部,编辑local.json文件。

vim /etc/onlyoffice/documentserver/local.json
1
在配置文件中,找到storage部分,并将upload和conversion的url改为宿主机的IP地址。例如,假设宿主机IP地址是192.168.1.100,则修改配置如下:

"storage": {
    "upload": {
        "url": "192.168.1.100"
        "path": "/var/www/onlyoffice/Data/Documents/files/"
    },
    "conversion": {
        "url": "192.168.1.100"
    }
}

重启容器。

OnlyOffice提示:这份文件无法保存。请检查连接设置或联系您的管理员当你点击“OK“按钮,系统将提示您下载文档。
原因:
onlyoffice docker容器内部访问不了应用服务器上文档的域名 (域名是内网dns解析的,非公网),缺少dns解析,所以onlyoffice跟调用系统无法通信。
测试方法:在容器中 curl 文档系统的地址。
例:

docker exec -it office /bin/bash
curl file.com:8888

如果没有正常返回,说明该域名在容器里访问不了。
解决方法:
不使用127.0.0.1或localhost,使用应用服务器ip登录跳转。

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  123
统信桌面专业版【全盘安装UOS系统】介绍  117
银河麒麟桌面操作系统安装佳能打印机驱动方法  109
银河麒麟桌面操作系统 V10-SP1用户密码修改  102
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!