docker中onlyoffice升级指导

文章目录

  • 前言
  • 一、升级过程
    • [1. 升级容器](#1. 升级容器)
    • [2. 修改配置](#2. 修改配置)
  • 二、踩坑
    • [1. 令牌无效](#1. 令牌无效)
    • [2. 如何查看已有容器onlyoffice版本](#2. 如何查看已有容器onlyoffice版本)
    • [3. 打开文件时,一直转圈圈,后显示下载失败](#3. 打开文件时,一直转圈圈,后显示下载失败)
    • [4. 拉取镜像 (2024年12月10日有效)](#4. 拉取镜像 (2024年12月10日有效))

前言

项目使用的onlyoffice版本太老,需要进行升级。

旧版本:6.4.2-6

新版本:8.2.2-22 (2024年12月10日)


一、升级过程

1. 升级容器

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

2. 修改配置

bash 复制代码
# 拷贝default.json配置文件至本地
docker cp onlyoffice2024:/etc/onlyoffice/documentserver/default.json ./default.json
# 修改本地default.json以下几行,从false改为true
"request-filtering-agent" : {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": true
}
# 将修改后的文件拷贝到容器中覆盖
docker cp default.json onlyoffice2024:/etc/onlyoffice/documentserver/default.json
# 重启容器onlyoffice2024
docker restart 

此时就升级完成了,可以正常使用

二、踩坑

1. 令牌无效

原因:onlyoffice从7.2版本开始,默认开启jwt;

规避方法:在创建容器时,注入环境变量-e JWT_ENABLED=false关闭

2. 如何查看已有容器onlyoffice版本

进入容器,执行以下命令即可:

bash 复制代码
dpkg -l| grep onlyoffice

3. 打开文件时,一直转圈圈,后显示下载失败

先进入容器检查日志文件/var/log/onlyoffice/documentserver/converter/out.log,为It is private IP address.报错

复制代码
[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.
    at validateIPAddress (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:71:20)
    at Socket.<anonymous> (/snapshot/server/Common/node_modules/request-filtering-agent/lib/request-filtering-agent.js:125:29)
    at Object.onceWrapper (node:events:641:28)
    at Socket.emit (node:events:539:35)
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1173:10)

解决办法:

bash 复制代码
# 拷贝default.json配置文件至本地
docker cp onlyoffice2024:/etc/onlyoffice/documentserver/default.json ./default.json
# 修改本地default.json以下几行,从false改为true
"request-filtering-agent" : {
        "allowPrivateIPAddress": true,
        "allowMetaIPAddress": true
}
# 将修改后的文件拷贝到容器中覆盖
docker cp default.json onlyoffice2024:/etc/onlyoffice/documentserver/default.json
# 重启容器onlyoffice2024
docker restart 

4. 拉取镜像 (2024年12月10日有效)

/etc/docker/daemon.json文件中增加如下内容,如没有该文件,使用root用户创建。

json 复制代码
{
    "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}

重新加载配置,并重启容器可解决

bash 复制代码
systemctl daemon-reload
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

相关推荐
Dragon水魅1 分钟前
爬虫技术详解:从传统爬虫到浏览器自动化——以豆瓣读书笔记为例
运维·爬虫·自动化
willhuo8 分钟前
# 自动化数据采集技术研究与实现:基于Playwright的抖音网页自动化方案
运维·selenium·c#·自动化·chrome devtools·webview
IP老炮不瞎唠10 分钟前
IP轮换机制解析:动态住宅代理如何维持高可用率?
运维·服务器·网络
一个扣子21 分钟前
OpenClaw 运维完全手册|日志分析、实时监控与故障排查指南
运维·监控·故障排查·健康检查·openclaw·clawmetry·openclawdoctor
Lentou25 分钟前
nginx反向代理
运维·nginx
刘~浪地球28 分钟前
API 安全设计最佳实践
运维·网络·安全
SilentSamsara29 分钟前
存储卷体系:EmptyDir/HostPath/PV/PVC/StorageClass 的选型决策树
服务器·微服务·云原生·容器·架构·kubernetes·k8s
网络安全许木32 分钟前
自学渗透测试第20天(防火墙基础与规则配置)
运维·服务器·网络·网络安全·渗透测试
亚空间仓鼠37 分钟前
Docker 容器技术入门与实践 (二):Dockerfile文件
运维·docker·容器
遇见火星44 分钟前
linux设置开启启动服务
linux·运维·服务器·nginx