技术文章
本篇说明该平台的容器化部署方法:首先简介容器技术隔离运行应用、启停快速且资源占用较低的特点,接着说明平台每次发版都会制作镜像并发布到镜像仓库,仓库中提供内置数据库的默认版本、集成在线文档服务的版本与不含数据库的版本。随后给出拉取镜像、以端口映射启动容器并在浏览器完成初始化的步骤,并说明内网环境可先在公网下载镜像、导出文件后再导入。最后提示该镜像内置代理服务,调整端口需同步修改多处配置。
O2OA 平台提供了服务器部署安装的 Docker 镜像,便于开发者完成容器化部署。本文主要说明与 O2OA 容器化部署相关的内容。
一、docker 简介
docker 是一种 Linux 容器技术。它将单个操作系统管理的资源划分到孤立的组中,以便更好地在组之间平衡有冲突的资源使用需求。每个容器内运行一个应用,不同的容器之间相互隔离,容器之间也可以建立通信机制。容器的创建和停止都十分快速,资源需求远远低于虚拟机。优点:
O2OA 支持 docker 部署,每次版本发布都会制作相应版本的 docker 镜像文件,发布到 docker hub 仓库中。
仓库地址:https://hub.docker.com/u/o2oa
发布的 docker 镜像基于 Ubuntu 操作系统的基础镜像,我们在 Ubuntu 操作系统的镜像上设置了中文环境。
目前共有三个 docker 发布版本,分别是:
o2oa/o2server:o2server 默认发布版本,与主版本同步,内置 mysql 数据库,默认配置连接内置 mysql 数据库;
o2oa/onlyoffice:o2server onlyOffice 集成版本,集成了 OnlyOffice Docs Community(OnlyOffice Docs 社区版),默认提供 20 个连接数,内置 postgresql 数据库,默认配置连接内置 postgresql 数据库;
o2oa/baseo2server:无数据库集成版本,与主版本同步;
O2OA 的三个 docker 镜像均发布在[docker hub](https://dockerhub.com)官网。在官网发布的同时,会自动通过装配线推送到 docker hub 仓库。可在 docker hub 搜索关键字 "o2oa" 检索到。
具体仓库地址如下:
o2oa/o2server : https://hub.docker.com/r/o2oa/o2server/tags
o2oa/onlyoffice : https://hub.docker.com/r/o2oa/onlyoffice/tags
o2oa/baseo2server : https://hub.docker.com/r/o2oa/baseo2server/tags
如无法访问 dockerhub 仓库,可以选择使用国内镜像站点。
严格来说,O2OA 容器化部署无需单独下载服务器映像。但是,在创建 docker 容器之前执行该步骤,可以确保本地映像是最新的。要下载 o2server 镜像,请运行以下命令:
sudo docker pull o2oa/o2server
在服务器上执行:
要为 O2OA 服务器启动新的 docker 容器,请使用以下命令:
"o2server1"表示您希望下载的目标文件夹
80:80 中前面的 80 代表 O2Server 服务器的端口,后面的 80 代表 docker 镜像配置的端口(docker 镜像配置的端口不建议自行修改),如需修改端口,在下面的命令行中直接修改。
sudo docker run --name o2server1 -it -p 80:80 o2oa/o2server
可以从服务器控制台看到,内置的 MySql 数据库正在启动。
注意:接下来,我们需要根据控制台里的提示,通过打开浏览器进行网页访问,完成初始化操作。地址是您可以访问到的 docker 服务器地址,端口是命令中设置的 80 端口。
使用控制台给出的服务器初始化地址,访问服务器初始化页面。打开浏览器输入访问地址,提示:地址需要根据自己部署的环境输入,包括端口号 1)初始化管理员(xadmin)密码,如下图所示界面:请注意:O2OA V8.1 之后,系统将不存在默认密码,新设置的管理员密码请一定牢记(写到小本本上)。由于权限过大,管理员密码丢失后无法找回。输入管理员密码并确认密码后,点击“下一步”,如下图所示:在此界面,数据库已默认初始化,使用 MySql 数据库(也可以使用其他数据库,O2OA 支持的数据库有很多,不限于系统所展现出来的这些)数据库信息设置完成后,点击“下一步”进行数据初始化工作,如下图所示:O2OA V8.1 支持在启动过程中恢复之前系统备份出来的数据,这样在系统启动完成之后,系统将包含所恢复的数据内容。(在此处略过数据恢复的操作过程,以后在其他文档里进行相关说明)。如果没有需要恢复的数据,可以点击“执行”: 确认初始化信息无误后,点击执行,系统将继续启动服务器并完成管理员所选择的初始化内容,直到系统全部启动完成,如下图所示:服务器初始化完成,如下图所示:系统初始化完成后,点击“进入系统登录页面”访问系统,如下图所示:使用管理员账号登录系统(账号:xadmin,密码:自定义的密码),如下图所示:至此,O2OA 的部署工作已经完成。
在内网环境中常常无法正常访问 docker hub,此时,开发者可以在能够访问 docker hub 的公网环境下载镜像并导出为文件,再在内网环境中导入镜像文件。具体步骤如下:
在能够访问 dockerhub 的计算机上安装 docker 环境,并运行以下命令拉取镜像:
docker pull o2oa/o2server
sudo docker save o2oa/o2server > image_o2server.tar
sudo docker load < image_o2server.tar
载入完成后,在内网 docker 环境中即可使用该镜像创建容器。
上面演示了 o2oa/o2server 镜像的部署过程,我们另外提供了已集成 O2OA 与 OnlyOffice Docs 社区版的镜像,部署过程完全一致。
这里需要说明的是 o2oa/onlyOffice 镜像是通过 OnlyOffice 官方提供镜像为基础制作而成的,其中内置了 nginx 作为 web 服务器,如果需要修改端口那么就需要逐个修改 o2server 配置,OnlyOffice 配置以及 nginx 配置,关于服务器端口修改的说明,可以参考《系统配置-服务器端口冲突和端口修改》。
以上是关于 O2OA 容器化部署的相关说明,希望对您有帮助。
相关问题讨论
相关内容
上一篇:没有了!