docker中onlyoffice升级引导

[复制链接]
发表于 2025-12-9 12:44:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

前言

项目利用的onlyoffice版本太老,必要举行升级。
旧版本:6.4.2-6
新版本:8.2.2-22 (2024年12月10日)

一、升级过程

1. 升级容器

  1. # 拉取镜像
  2. docker pull onlyoffice/documentserver
  3. # 打上tag,防止都是latest标签;移除旧标签(请仔细检查,防止误删镜像)
  4. docker tag aae28af46240 onlyoffice/documentserver:8.2.2-22
  5. docker rmi onlyoffice/documentserver:latest
  6. # 停止旧服务,
  7. docker ps -a | grep onlyoffice
  8. docker stop 943f3ec887b6
  9. # 更新,起一个新的服务onlyoffice2024
  10. docker run --name onlyoffice2024 -e JWT_ENABLED=false -i -t -d -p 9655:80 onlyoffice/documentserver:8.2.2-22
复制代码
2. 修改设置

  1. # 拷贝default.json配置文件至本地
  2. docker cp onlyoffice2024:/etc/onlyoffice/documentserver/default.json ./default.json
  3. # 修改本地default.json以下几行,从false改为true
  4. "request-filtering-agent" : {
  5.         "allowPrivateIPAddress": true,
  6.         "allowMetaIPAddress": true
  7. }
  8. # 将修改后的文件拷贝到容器中覆盖
  9. docker cp default.json onlyoffice2024:/etc/onlyoffice/documentserver/default.json
  10. # 重启容器onlyoffice2024
  11. docker restart
复制代码
此时就升级完成了,可以正常利用
二、踩坑

1. 令牌无效

缘故起因:onlyoffice从7.2版本开始,默认开启jwt;
规避方法:在创建容器时,注入环境变量-e JWT_ENABLED=false关闭
2. 怎样查察已有容器onlyoffice版本

进入容器,实验以下下令即可:
  1. dpkg -l| grep onlyoffice
复制代码
3. 打开文件时,不停转圈圈,后体现下载失败

先辈入容器查抄日志日志文件/var/log/onlyoffice/documentserver/converter/out.log,为It is private IP address.报错
  1. [2024-12-09T09:18:20.188] [ERROR] [localhost] [192.168.117.202new.docx1733735897240] [uid-1] nodeJS - error downloadFile:url=http://10.35.56.90:9655/example/download?fileName=new.docx&useraddress=192.168.117.202;attempt=3;code:null;connect:null Error: DNS lookup 10.35.56.90(family:undefined, host:undefined) is not allowed. Because, It is private IP address.
  2.     at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20)
  3.     at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:125:29)
  4.     at Object.onceWrapper (node:events:641:28)
  5.     at Socket.emit (node:events:539:35)
  6.     at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1173:10)
复制代码
办理办法:
  1. # 拷贝default.json配置文件至本地
  2. docker cp onlyoffice2024:/etc/onlyoffice/documentserver/default.json ./default.json
  3. # 修改本地default.json以下几行,从false改为true
  4. "request-filtering-agent" : {
  5.         "allowPrivateIPAddress": true,
  6.         "allowMetaIPAddress": true
  7. }
  8. # 将修改后的文件拷贝到容器中覆盖
  9. docker cp default.json onlyoffice2024:/etc/onlyoffice/documentserver/default.json
  10. # 重启容器onlyoffice2024
  11. docker restart
复制代码
4. 拉取镜像 (2024年12月10日有用)

在/etc/docker/daemon.json文件中增长如下内容,如没有该文件,利用root用户创建。
  1. {
  2.     "registry-mirrors": [
  3.         "https://docker.m.daocloud.io",
  4.         "https://dockerproxy.com",
  5.         "https://docker.mirrors.ustc.edu.cn",
  6.         "https://docker.nju.edu.cn"
  7.     ]
  8. }
复制代码
重新加载设置,并重启容器可办理
  1. systemctl daemon-reload
  2. systemctl restart docker
复制代码
留意:貌似docker search照旧没有用的,照旧报错Error response from daemon: Get "https://index.docker.io/v1/search?q=mysql&n=25": dial tcp 108.160.172.232:443: i/o timeout;
但可以利用docker pull

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表