当前位置:   article > 正文

Docker安装OnlyOffice

docker安装onlyoffice

Docker 安装OnlyOffice

在这里插入图片描述

某本书里有一句话,等我去读、去拍案。

田间的野老,等我去了解、去惊识。

山风与发,冷泉与舌,

流云与眼,松涛与耳,

他们等着,在神秘的时间的两端等着,

等着相遇的一刹——

一旦相遇,就不一样了,永远不一样了。

张晓风 《我还有一片风景要完成》

官方最低配置:

CPU: 双核2GHz或更高

内存:大于2GB或更多

硬盘: 大于40GB

额外的需求至少4GB的交换

Docker版本:大于1.10

1.创建本地映射文件

mkdir /data/docker
  • 1

2.docker启动Onlyoffice

docker run -itd \
--name onlyoffice \
--restart always \
-p 8090:80 \
-v /data/docker/onlyoffice/log:/var/log/onlyoffice  \
-v /data/docker/onlyoffice/data:/var/www/onlyoffice/Data  \
-v /data/docker/onlyoffice/lib:/var/lib/onlyoffice \
-v /data/docker/onlyoffice/db:/var/lib/postgresql  \
onlyoffice/documentserver

# docker ps
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

这条 Docker 命令用于运行 ONLYOFFICE Document Server 的容器。下面是对命令中各个参数的详细解释:

docker run

docker run 命令用于创建并运行一个新的容器。

-itd

  • -i (interactive): 让容器保持 STDIN 打开,即使没有附加终端。
  • -t (tty): 分配一个伪终端。
  • -d (detached): 让容器在后台运行,并返回容器 ID。

--name onlyoffice

指定容器的名称为 onlyoffice

--restart always

设置容器的重启策略为 “always”,即容器在退出时总是会自动重启。

-p 8090:80

将主机的 8090 端口映射到容器内的 80 端口。也就是说,通过访问 http://<主机IP>:8090 可以访问容器内的 ONLYOFFICE 服务。

-v /data/docker/onlyoffice/log:/var/log/onlyoffice

将主机上的 /data/docker/onlyoffice/log 目录挂载到容器内的 /var/log/onlyoffice 目录,用于存储 ONLYOFFICE 的日志文件。

-v /data/docker/onlyoffice/data:/var/www/onlyoffice/Data

将主机上的 /data/docker/onlyoffice/data 目录挂载到容器内的 /var/www/onlyoffice/Data 目录,用于存储 ONLYOFFICE 的数据文件。

-v /data/docker/onlyoffice/lib:/var/lib/onlyoffice

将主机上的 /data/docker/onlyoffice/lib 目录挂载到容器内的 /var/lib/onlyoffice 目录。

-v /data/docker/onlyoffice/db:/var/lib/postgresql

将主机上的 /data/docker/onlyoffice/db 目录挂载到容器内的 /var/lib/postgresql 目录,用于存储 PostgreSQL 数据库文件。

onlyoffice/documentserver

指定要运行的镜像名称为 onlyoffice/documentserver,这是 ONLYOFFICE Document Server 的官方 Docker 镜像。

这条命令通过 Docker 运行一个 ONLYOFFICE Document Server 容器,并将主机的多个目录挂载到容器内,以便持久化日志、数据和数据库文件,同时将容器的 80 端口映射到主机的 8090 端口。

这时候输入服务器ip:8090出现下面页面则部署成功

http://192.168.1.5:8090/

image-20220322150844771

3.测试Demo

docker exec onlyoffice sudo supervisorctl start ds:example

docker exec onlyoffice sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
  • 1
  • 2
  • 3

这两条 Docker 命令用于管理在 onlyoffice 容器内的 supervisor 进程。supervisor 是一个进程控制系统,用于监控和控制进程的启动、停止等操作。

第一条命令

docker exec onlyoffice sudo supervisorctl start ds:example
  • 1
  • docker exec: 在一个已经运行的容器中执行命令。
  • onlyoffice: 容器的名称,表示在这个容器中执行命令。
  • sudo: 以超级用户身份运行后续命令。
  • supervisorctl: supervisor 的命令行工具,用于控制 supervisor 中管理的进程。
  • start ds:example: 命令给 supervisorctl,表示启动名为 ds:example 的进程。

第二条命令

docker exec onlyoffice sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
  • 1
  • docker exec: 在一个已经运行的容器中执行命令。
  • onlyoffice: 容器的名称,表示在这个容器中执行命令。
  • sudo: 以超级用户身份运行后续命令。
  • sed: 一个流编辑器,用于在文本中进行查找和替换操作。
  • 's,autostart=false,autostart=true,': sed 命令的查找替换部分。s 表示替换操作,autostart=false 是要查找的字符串,autostart=true 是要替换为的字符串。
  • -i /etc/supervisor/conf.d/ds-example.conf: -i 表示直接编辑文件并将结果写回文件,/etc/supervisor/conf.d/ds-example.conf 是要编辑的配置文件的路径。

总结:

  1. 第一条命令:在 onlyoffice 容器中,通过 supervisorctl 启动名为 ds:example 的进程。
  2. 第二条命令:在 onlyoffice 容器中,使用 sed 编辑 supervisor 的配置文件,将其中的 autostart=false 改为 autostart=true,以便在 supervisor 启动时自动启动 ds:example 进程。

image-20210930133757212

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/797498
推荐阅读
相关标签
  

闽ICP备14008679号