如何部署Docker onlyOffice documentServer?

Docker

1 基础知识

1.1 onlyOffice的简介

– onlyOffice Document Server是一个在线办公套件
– onlyOffice Document Server可用于文本、电子表格和演示文稿的查看和编辑
– onlyOffice Document Server与Office Open XML格式完全兼容
– onlyOffice Document Server支持“.docx”、“.xlsx”、“.pptx”且支持实时协作编辑

1.2 onlyOffice的版本

– Community Edition (onlyoffice-documentserver package)
– Enterprise Edition (onlyoffice-documentserver-ee package)
– Developer Edition (onlyoffice-documentserver-de package)
注:onlyOffice Document Server从6.0版本开始拆分为三个版本

1.3 onlyOffice的功能

– 文件编辑器
– 电子表格编辑器
– 适用于IOS的应用程序
– 协同编辑
– 象形文字支持
– 支持所有主流格式DOC,DOCX,TXT,ODT,RTF,ODP,EPUB,ODS,XLS,XLSX,CSV,PPTX,HTML

1.4 onlyOffice的安装要求

– 内存:4 GB以上
– CPU:双核2 GHz或更高
– 交换:至少2 GB
– 硬盘:至少2 GB的可用空间
支持的系统发行版,
– Red Hat、CentOS x64
– Debian,Ubuntu x64
– 或与其他内核版本3.8或更高版本兼容的发行版
– Docker:1.9.0或更高版本

2 最佳实践

2.1 部署前的准备

2.1.1 部署Docker环境

本章使用如下Docker环境部署,参阅本章建议你先搭建以下Docker集群环境并熟悉,

如何部署Docker生产环境?

2.1.2 准备onlyOffice镜像

In docker01

cd /data/docker/images/
docker load -i onlyoffice-documentserver_6.0.tar
docker tag onlyoffice/documentserver:6.0 docker01.cmdschool.org:5000/onlyoffice/documentserver:6.0
docker push docker01.cmdschool.org:5000/onlyoffice/documentserver:6.0
docker image rm onlyoffice/documentserver:6.0

另外,安装包的离线下载请在能上网的docker环境的机器上使用如下命令,

docker pull onlyoffice/documentserver:6.0
docker save onlyoffice/documentserver:6.0 -o onlyoffice-documentserver_6.0.tar

另外,其他版本请从以下链接下载,
https://hub.docker.com/r/onlyoffice/documentserver

2.2 部署onlyOffice

In docker01

2.2.1 创建服务配置文件

vim /data/docker/yml/onlyoffice-stack.yml

加入如下配置,

version: '3.8'

volumes:
  documentserver-log:
    driver: local
  documentserver-data:
    driver: local
  documentserver-etc:
    driver: local

services:

  documentserver:
    image: docker01.cmdschool.org:5000/onlyoffice/documentserver:6.0
    ports:
      - 8080:80
      - 8443:443
    volumes:
      - documentserver-log:/var/log/onlyoffice
      - documentserver-data:/var/www/onlyoffice/Data
      - documentserver-etc:/etc/onlyoffice
    restart: always
    environment:
      TZ: Asia/Shanghai
    deploy:
      replicas: 1
      placement:
        constraints: [node.labels.documentserver == true]
    logging:
      driver: "json-file"
      options:
        max-size: "100m"
        max-file: "5"

根据配置的需求设置运行标记,
In docker01

docker node update --label-add documentserver=true docker01.cmdschool.org

2.2.2 部署服务

docker stack deploy -c /data/docker/yml/onlyoffice-stack.yml onlyoffice

2.3 配置SSL证书

2.3.1 理解SSL证书存放目录

In docker01

docker exec -it `docker container ls | grep 'onlyoffice_documentserver' | cut -d" " -f1 ` bash
ls /var/www/onlyoffice/Data

然后,如下命令可以查看创建的卷,

docker volume ls

详细显示如下,

DRIVER              VOLUME NAME
[...]
local               onlyoffice_documentserver-data
local               onlyoffice_documentserver-etc
local               onlyoffice_documentserver-log
[...]

实际上,我们可以通过如下命令查询卷位于物理机的实际存储路径,

docker volume inspect onlyoffice_documentserver-data | grep "Mountpoint"

可见如下显示,

        "Mountpoint": "/data/docker/runningdata/volumes/onlyoffice_documentserver-data/_data",

2.3.2 申请SSL证书

如果没有证书,请从腾讯云申请免费证书,
https://cloud.tencent.com/product/ssl
注:以上申请后使用Nginx证书即可并保存到目录“/data/docker/certs

2.3.3 配置SSL证书

In docker01

mkdir -p /data/docker/runningdata/volumes/onlyoffice_documentserver-data/_data/certs
cd /data/docker/certs/
cat 2_onlyoffice.cmdschool.org.key > /data/docker/runningdata/volumes/onlyoffice_documentserver-data/_data/certs/tls.key
cat 1_onlyoffice.cmdschool.org_bundle.crt > /data/docker/runningdata/volumes/onlyoffice_documentserver-data/_data/certs/tls.crt 
chmod 400 /data/docker/runningdata/volumes/onlyoffice_documentserver-data/_data/certs/tls.key

部署完成后,你需要重启服务使配置生效,

docker container restart `docker container ls | grep "onlyoffice/documentserver:6.0" | cut -d" " -f1`

2.4 调试程序onlyOffice

2.4.1 使用Web测试程序

in Window Client,

notepad \Windows\System32\drivers\etc\hosts

测试环境可使用host解析代替DNS实现名称解析,

10.168.0.210 onlyoffice.cmdschool.org

然后,可使用如下域名进行程序调试,
https://onlyoffice.cmdschool.org:8443
http://onlyoffice.cmdschool.org:8080

2.4.2 程序排错

In docker01

docker exec -it `docker container ls | grep 'onlyoffice' | cut -d" " -f1 ` bash

然后可以使用如下命令查看Nginx配置,

cat /etc/nginx/conf.d/ds.conf

另外也可以使用如下命令查看Nginx日志,

tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
tail -f /var/log/onlyoffice/documentserver/docservice/err.log
tail -f /var/log/onlyoffice/documentserver/docservice/out.log
tail -f /var/log/onlyoffice/documentserver/converter/err.log
tail -f /var/log/onlyoffice/documentserver/converter/out.log

参阅文档
================

GitHub
———-
https://github.com/ONLYOFFICE/Docker-DocumentServer

下载页面
———–
https://www.onlyoffice.com/zh/download.aspx?from=helpcenter

docker hub
————-
https://hub.docker.com/r/onlyoffice/documentserver

端口开启配置
———–
https://helpcenter.onlyoffice.com/installation/docs-community-open-ports.aspx

问题处理
———
https://helpcenter.onlyoffice.com/installation/docs-community-troubleshooting-docker.aspx

与owncloud集成
————-
https://marketplace.owncloud.com/apps/onlyoffice

没有评论

发表评论

Docker
如何打包Docker Nginx?

1 前言 一个问题,一篇文章,一出故事。 由于docker hub原版本的nginx镜像过于精简,于 …

Docker
如何打包Docker MAC-Telnet?

1 基础知识 一款可以使用MikroTik RouterOS MAC-Telnet协议连接Mikro …

Docker
如何部署Docker Unifi-WiFi?

1 前言 一个问题,一篇文章,一出故事。 笔者Unifi-WiFi想要迁移至docker环境,于是产 …