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安装

  1. 获取Docker Desktop Installer.exe。下载地址:> 点击直接下载 Docker Desktop Installer.exe,下载后安全扫描
  2. 双击运行,安装docker,略慢,需等待一会儿。完成后关闭安装界面,打开docker。不登录,直接进入。> 在这里插入图片描述
  3. 修改存储路径。> 这里是引用
  4. 打开命令提示符,输入docker,查看是否安装成功。> 在这里插入图片描述
  5. 在命令提示符内使用docker拉取OnlyOffice镜像(7.2版本之前的),等待下载完成。docker pull onlyoffice/documentserver:7.1.1> 这里是引用
  6. 进入docker,查看镜像。> 在这里插入图片描述
  7. 启动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。> 这里是引用
  8. 安装测试实例(如有需要):docker exec 容器id(替换成自己的) sudo supervisorctl start ds:example> 这里是引用
  9. 根据自己的应用服务配置接口。笔者所用应用需配置.properties文件。> 这里是引用
  10. 使用互通网络的服务器访问插件所在服务器ip:端口/,查看是否启动成功。> 这里是引用查看样例是否可以正常使用。> 这里是引用> 在这里插入图片描述> 在这里插入图片描述
  11. 从应用跳转。在这里插入图片描述

三、Anolis Os8.6QU1安装(CentOS可用)

  1. 直接拉取Docker。yum -y install docker
  2. 启动docker service docker start
  3. 查看docker启动状态service docker status如图所示状态,表示启动成功。> 这里是引用
  4. 拉取OnlyOffice镜像(7.2版本之前的),等待下载完成。docker pull onlyoffice/documentserver:7.1.1
  5. 启动容器,配置映射端口及路径(同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
  6. 查看正在运行的docker容器。docker ps-a> 这里是引用
  7. 安装测试实例、测试运行等步骤同win10。

四、常用docker命令

  1. 停止docker服务: service docker stop
  2. 重启docker服务: service docker restart
  3. 启动docker容器: docker run -d -p 映射端口:80 --name 容器名 镜像名> 参数说明:> > -d:后台运行容器。> > -p:指定端口映射,格式为主机端口:容器端口。
  4. 停止docker容器: docker stop 容器名(或id)
  5. 重启docker容器: docker restart 容器名(或id)
  6. 删除docker容器: docker rm-f 容器名(或id)
  7. 查看docker镜像: docker images
  8. 删除docker镜像: docker rmi image 镜像名(或id)
  9. 进入容器内部: docker exec -it 容器id /bin/bash
  10. 退出容器:exit
  11. 查看容器: docker ps

五、遇到的问题及解决方法

  1. OnlyOffice打开文档,显示文档安全令牌未正确形成。原因: OnlyOffice从7.2版本开始,默认情况下启用了JWT,相当于加了个密钥,客户端和服务器同一个密钥才能使用。解决方法: 工作时间紧迫,学习了修改密钥的方法后,重新启动容器又变回去了,加之笔者工作对于OnlyOffice的版本没有严格要求,故直接下载了7.2前的版本。
  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在配置文件中,找到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"}}重启容器。
  3. OnlyOffice提示:这份文件无法保存。请检查连接设置或联系您的管理员当你点击“OK“按钮,系统将提示您下载文档。原因: onlyoffice docker容器内部访问不了应用服务器上文档的域名 (域名是内网dns解析的,非公网),缺少dns解析,所以onlyoffice跟调用系统无法通信。 测试方法:在容器中 curl 文档系统的地址。 例:docker exec -it office /bin/bashcurl file.com:8888如果没有正常返回,说明该域名在容器里访问不了。解决方法: 不使用127.0.0.1或localhost,使用应用服务器ip登录跳转。

六、参考文档

onlyoffice 安装、测试、打包、部署

安装 onlyoffice

Anolis OS 7.9安装docker

anolis8.6 安装docker

docker 删除容器

运行docker容器用什么命令?Docker命令大全来了

(原创)Onlyoffice docs docker实例安装示例后,打开文档提示:文档下载失败

dzzoffice,onlyoffice文档加载中下载失败

解决O2OA自签名证书后onlyoffice无法预览及保存文件问题

docker中的onlyoffice 打开时提示下载失败

onlyoffice报 error self signed certificate导致download failed错误处理

dzzoffice中安装onlyoffice后打开显示文档安全令牌未正确形成的临时解决办法

标签: docker linux 容器

本文转载自: https://blog.csdn.net/qq_44163117/article/details/133761652
版权归原作者 稔辞 所有, 如有侵权,请联系我们删除。

“使用docker部署onlyoffice插件步骤及踩坑问题(win10/linux)”的评论:

还没有评论