参考文献 > 使用Docker部署OnlyOffice办公套件工具

部署环境说明:

  • 操作系统版本: AlmaLinux release 8.10 (同centos同源,均属于RH社区系统)
  • 操作系统架构: x86
  • Docker版本: docker-ce-26.1.3
  • Docker-Compose版本: 2.23.0
  • OnlyOffice镜像版本: onlyoffice/documentserver:8.2

镜像导入

1.可通过scp命令或者SFTP工具将离线包上传至服务器目录下(本文以/home/app/onlyoffice为例)

#以下命令为scp文件上传的方式,使用sftp工具可跳过此命令,其中/path/to/your/换成当前机器保存的onlyoffice镜像包的路径,xx.xx.xx.xx换成实际上传的服务器ip,请提前在该服务器创建对应的文件夹.
scp /path/to/your/onlyoffice.tar.gz root@xx.xx.xx.xx:/home/app/onlyoffice

2.执行docker load命令将镜像导入(以下命令二选一即可,效果是一样的)

docker load -i /home/app/onlyoffice/onlyoffice.tar.gz
#或者
docker load < /home/app/onlyoffice/onlyoffice.tar.gz

3.执行docker images 命令验证镜像是否导入成功,执行完命令后控制台有输出以下内容即为成功

REPOSITORY                   TAG       IMAGE ID       CREATED         SIZE
onlyoffice/documentserver    8.2       aae28af46240   14 months ago   3.31GB

配置Docker-Compose脚本

1.创建onlyoffice服务配置目录,本文以/data/onlyoffice为例

#创建onlyoffice服务根目录
mkdir -p /data/onlyoffice
#创建onlyoffice数据目录
mkdir -p /data/onlyoffice/data
#创建onlyoffice日志目录
mkdir -p /data/onlyoffice/logs

2.创建docker-compose启动脚本配置文件

创建onlyoffice容器启动配置文件(此处文件名以onlyoffice-docker-starter.yml)

#前往onlyoffice根目录下
cd /data/onlyoffice
#创建docker-compose配置文件
vim ./onlyoffice-docker-start.yml

按i切换至输入状态,输入(或者粘贴)下列内容

version: '2.3'  

services:
  onlyoffice:
    image: onlyoffice/documentserver:8.2
    container_name: onlyoffice-server
    ports:
      #端口映射 宿主机端口:容器内部端口 
      - "8090:80"
    volumes:
      #目录映射 宿主机路径:容器内部路径
      - /data/onlyoffice/data:/var/www/onlyoffice/Data
      - /data/onlyoffice/logs:/var/log/onlyoffice
    environment:
      #开启jwt
      - JWT_ENABLED=true
      #jwt秘钥
      - JWT_SECRET=abcdefg1234567890
#      - DOCUMENT_SERVER_HTTPS_PORT=443  # 如果需要HTTPS访问,可以设置此变量并正确配置SSL证书。

按下ESC按键退出编辑模式,输入:wq回车保存并退出

启动服务

执行以下命令创建并启动容器

docker-compose -f  /data/onlyoffice/onlyoffice-docker-start.yml up -d

服务器输出下列内容即为启动成功:

[+] Building 0.0s (0/0)                                                                                                                                                                                         docker:default
[+] Running 2/2
✔ Network onlyoffice_default   Created                                                                                                                                                                                   0.3s
✔ Container onlyoffice-server  Started

验证服务

1.执行docker ps命令输出以下内容即可

CONTAINER ID   IMAGE                           COMMAND                   CREATED          STATUS          PORTS                                                    NAMES
9c27d7250258   onlyoffice/documentserver:8.2   "/app/ds/run-documen…"   48 seconds ago   Up 46 seconds   443/tcp, 0.0.0.0:8090->80/tcp, :::8090->80/tcp           onlyoffice-server

2.浏览器访问 服务器IP:8090/ 能看到如下界面即为安装成功

至此onlyoffice的服务端已经完成部署

额外说明

1.服务启停命令:

#1.创建容器并启动服务
docker-compose -f /data/onlyoffice/onlyoffice-docker-start.yml up -d

#2.已有容器的前提下,重启容器
docker restart onlyoffice-server

#3.已有容器的前提下,启动容器
docker start onlyoffice-server

#4.仅仅停止容器,不删除容器
docker stop onlyoffice-server

#5.停止容器并且删除容器,(适用于重新构建容器得情况,以下两条命令二选一即可)
docker rm -f onlyoffice-server
docker-compose -f /data/onlyoffice/onlyoffice-docker-start.yml down

2.开启onlyoffice的示例服务页面:

1.执行以下命令进入onlyoffice容器内部

docker exec -it onlyoffice-server bash

2.执行以下命令启动测试界面

sudo supervisorctl start ds:example

3.服务器输出如下内容即为启动成功

ds:example: started

4.前往onlyoffce服务端界面 服务器ip:8090 滑到最底部有个 GO TO TEST EXAMPLE 按钮,点击即可前往测试界面,界面样式如下:

onlyoffice服务端镜像onlyoffice.tar.gz