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

相关推荐
西贝爱学习14 小时前
【软件】nginx-1.28.0安装包(Windows版)
运维·nginx
z2023050814 小时前
linux之 remoteproc 内核实现源码分析
linux·运维·服务器
阿方索14 小时前
shell脚本
linux·运维
Yeats_Liao15 小时前
遗留系统微服务改造(二):数据迁移实战攻略与一致性保证
微服务·云原生·架构
野蛮人6号15 小时前
黑马微服务P3快速入门入门案例无法跑通解决方案,本文解决了数据库连接和java版本不匹配的问题
微服务·云原生·架构
嗨丶王哪跑15 小时前
网络安全审计技术原理与应用
运维·网络·安全·web安全
斯普信专业组15 小时前
Skywalking从部署集成到动态调优(上)
运维·skywalking·动态调优
斯普信专业组15 小时前
Skywalking从部署集成到动态调优(下)
运维·skywalking·动态调优
matlab的学徒15 小时前
Kubernetes(K8S)全面解析:核心概念、架构与实践指南
linux·容器·架构·kubernetes
西瓜er15 小时前
Docker 一键部署指南:GitLab、Nacos、Redis、MySQL 与 MinIO 全解析
redis·docker·gitlab