Centos 7 通过Docker部署OnlyOffice

前言:

  在本文中,我们将详细介绍如何使用 Docker 部署功能强大的协作办公套件 OnlyOffice。通过 Docker,您可以轻松构建、部署和管理 OnlyOffice,从而提高团队协作和企业办公的效率。


一、安装Docker

1、向系统添加Docker CE软件仓库的源地址,如该源无法使用可以替换阿里云Docker CE软件仓库地址

# 官方源(二选一)
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 阿里源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2、生成并更新系统中的软件包缓存

yum makecache fast

3、安装、启动、并设置Docker开机自启

# 安装 Docker
yum install -y docker-ce# 启动 Docker
systemctl start docker.service# 设置 Docker 开机自启
systemctl enable docker.service# 查看版本
docker version


二、方法一:Docker部署OnlyOffice

1、从Docker镜像仓库中下载(拉取)OnlyOffice镜像到本地计算机

docker pull onlyoffice/documentserver:7.1.1

2、在Docker容器中运行OnlyOffice镜像(复制全部内容到SSH中执行)

docker run -i -t -d --restart=always \
-p 8088:80 -p 443:443 \
--name OnlyOffice \
-e "TZ=Asia/Shanghai" \
-v /docker/onlyoffice/data:/var/www/onlyoffice/Data \
-v /docker/onlyoffice/logs:/var/log/onlyoffice \
-v /docker/onlyoffice/lib:/var/lib/onlyoffice \
-v /docker/onlyoffice/db:/var/lib/postgresql \
onlyoffice/documentserver:7.1.1
  • -i -t -d:这些标志告诉Docker在后台运行容器,并将其与终端进行交互;
  • –restart=always:Docker 容器的启动参数,用于指定容器的重启策略为始终重启;
  • -p 8088:80:将主机的8088端口映射到容器的80端口,允许通过http访问OnlyOffice服务;
  • -p 443:443:将主机的443端口映射到容器的443端口,用于通过https访问OnlyOffice服务;
  • –name OnlyOffice:这个选项为容器指定一个名称,即"OnlyOffice";
  • -e “TZ=Asia/Shanghai”:设置容器的时区为"Asia/Shanghai",这将影响容器内的时间设置;
  • -v…:将主机上的/docker/onlyoffice/…目录挂载到容器内的/var/www/onlyoffice/…目录,用于持久化存储 OnlyOffice 的数据、日志、库和数据库文件;
  • 指定要使用的 OnlyOffice Document Server 容器镜像及其版本

在这里插入图片描述

3、部署成功后,通过 docker ps -a 查看

  • CONTAINER ID 是每个容器的唯一标识符;
  • IMAGE 列显示容器所使用的镜像名称和版本号;
  • COMMAND 显示容器在启动时执行的命令;
  • CREATED 列显示容器的创建时间,即容器启动后经过的时间;
  • STATUS 显示容器的当前状态,例如 “Up” 表示容器正在运行,“Exited” 表示容器已停止运行;
  • PORTS 显示容器的端口映射情况,格式为 <主机端口>:<容器端口>;
  • NAMES 列显示容器的名称。
    在这里插入图片描述

4、通过web访问:IP:8088 (需要放行端口)

# firewalld放行方法,其他方法自行百度# ①向防火墙配置文件中添加二条规则,允许 TCP 协议的流量通过 8088和443 端口
firewall-cmd --zone=public --permanent --add-port=8088/tcp
firewall-cmd --zone=public --permanent --add-port=443/tcp
# ②重新加载防火墙配置,使更改生效
firewall-cmd --reload
# ③验证端口是否已成功放行
firewall-cmd --zone=public --list-ports

在这里插入图片描述



三、方法二:docker-compose部署OnlyOffice(可以部署多容器)

1、安装docker-compose

# 下载并安装Docker Compose, 加速器无法使用时,请去掉https://ghproxy.com/部分,直接在github下载
curl -L "https://ghproxy.com/https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 赋予执行权限
chmod +x /usr/local/bin/docker-compose# 查看版本
docker-compose -v

2、从Docker镜像仓库中下载(拉取)OnlyOffice镜像到本地计算机

docker pull onlyoffice/documentserver:7.1.1

3、在目录下创建docker-compose.yaml文件,填入以下内容保存

version: '3'services:onlyoffice:container_name: OnlyOfficeimage: onlyoffice/documentserver:7.1.1restart: alwaysports:- 8088:80- 443:443environment:TZ: Asia/Shanghaivolumes:- /docker/onlyoffice/data:/var/www/onlyoffice/Data- /docker/onlyoffice/logs:/var/log/onlyoffice- /docker/onlyoffice/lib:/var/lib/onlyoffice- /docker/onlyoffice/db:/var/lib/postgresql

4、在docker-compose.yaml文件目录下启动容器

docker-compose up -d

如果想停止并移除 Docker Compose 所管理的全部容器、网络和卷等资源,可以通过以下命令(需要在docker-compose.yaml文件目录下执行):

docker-compose down


四、Docker常用命令

1、查看容器

# 该命令用于列出正在运行的容器
docker ps
# 该命令用于列出所有的容器,包括正在运行和已经停止的容器
docker ps -a

2、启动、停止容器

# 启动容器
docker start <容器ID>
# 停止容器
docker stop <容器ID>

3、移除容器

# 移除容器前需要先停止容器
docker rm <容器ID>

4、删除镜像

# 先查看本地镜像,记住要删除镜像的名称或 ID
docker images# 执行以下命令删除,删除前需要先移除正在使用该镜像的容器,包括运行中和停止中的
docker rmi <镜像名称或 ID>

5、进入容器

docker exec -it <容器名称或容器ID> /bin/bash

6、修改容器名称

docker rename <旧容器名称> <新容器名称>

7、将宿主机上的文件复制到容器内

docker cp <本地文件路径> <容器ID>:<容器目标路径>

8、从容器内将文件复制到宿主机上

docker cp <容器ID>:<容器文件路径> <本地目标路径>

以上方法主要针对于不需要启用JWT的用户,因为在7.4.x版本中关闭JWT,在局域网中通过私有IP访问时就会出现问题。如需要最新版本,移除版本号即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/72304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows下运行springboot的jar包,修改替换class文件,修改配置文件application,打包

在windows下跑springboot的jar包&#xff0c;经常会用到一些命令行和操作。 1、修改配置文件&#xff08;以application.yml为例&#xff09; #提取文件 jar xvf mqtt-10.1.0.jar BOOT-INF/classes/application.yml#将文件装回jar包 jar uvf mqtt-10.1.0.jar BOOT-INF/classe…

Qt简易闹钟

配置文件 QT core gui texttospeechgreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# The following define makes your compiler emit warnings if you use # any Qt feature that has been marked deprecated (the exact warnings # depend on your compi…

Json“牵手”当当网商品详情数据方法,当当商品详情API接口,当当API申请指南

当当网是知名的综合性网上购物商城&#xff0c;由国内著名出版机构科文公司、美国老虎基金、美国IDG集团、卢森堡剑桥集团、亚洲创业投资基金&#xff08;原名软银中国创业基金&#xff09;共同投资成立1。 当当网从1999年11月正式开通&#xff0c;已从早期的网上卖书拓展到网…

【JAVA】Object类与抽象类

作者主页&#xff1a;paper jie_的博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《JAVASE语法系列》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和…

Linux安装nginx教程

目录 一、Nginx下载 二、安装步骤 1、在 /docker目录下新建 nginx 文件夹 2、将解压包移动到nginx目录下并解压到nginx目录 3、进入 nginx目录&#xff0c;找到 configure 4、运行 configure&#xff0c;命令 5、安装 6、查看根目录 7、进入Nginx目录下的conf文件夹…

i8080/TTL/LVDS/MIPI接口的差别

EYA-DISPLAY i8080、TTL、LVDS和MIPI都是用于数据传输的接口协议&#xff0c;但它们在传输数据类型和使用场景上存在一些差异。 i8080接口是一种并行数据接口&#xff0c;通常用于连接CPU和慢速外设。它最初被设计用于IBM的PC和AT计算机&#xff0c;现已被广泛用于各种计算机和…

VSCODE CMAKE C++ 工程调试, C++不以科学计数法输出并控制小数位数

1. VSCODE调试CMAKE工程配置1.1 修改CMakeLists.txt文件1.2. 程序中1.3. launch.json配置1.4 开始调试1.5 注意 2. C设置输出浮点数且保留位数固定 1. VSCODE调试CMAKE工程配置 1.1 修改CMakeLists.txt文件 加这一句 set(CMAKE_BUILD_TYPE "Debug")1.2. 程序中 在…

python分支结构的花样玩法(二)

除了上述的基本用法&#xff0c;还可以使用更复杂的条件表达式&#xff0c;包括使用 not 和 or 来组合条件&#xff0c;以及使用 in 和 not in 来检查元素是否在&#xff08;或不在&#xff09;某个集合中。 例如&#xff1a; pythonif not condition1 or not condition2: # …

Nginx 学习(五)Tomcat 服务器

1 案例1&#xff1a;安装部署Tomcat服务器 1.1 问题 本案例要求部署Tomcat服务器&#xff0c;具体要求如下&#xff1a; 安装部署JDK基础环境安装部署Tomcat服务器创建JSP测试页面 然后客户机访问此Web服务器验证效果&#xff1a; 使用火狐浏览器访问Tomcat服务器的8080端…

Web存储

目录 什么是 HTML5 Web 存储? 方法 cookie webStorage 会话存储 sessionStorage 本地存储localStorage 什么是 HTML5 Web 存储? 使用HTML5可以在本地存储用户的浏览数据。 早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服…

下单时如何保证数据一致性?

原创 哪吒 哪吒编程 2023-09-07 08:03 发表于辽宁 收录于合集#Redis11个 &#xff08;给哪吒编程加星标&#xff0c;提高Java技能&#xff09; 大家好&#xff0c;我是哪吒。 在前几篇文章中&#xff0c;提到了Redis实现排行榜、Redis数据缓存策略&#xff0c;让我们对Redis…

Golang 获取本地 IP 地址方法

在 Golang 中&#xff0c;使用 net 包可以很方便地获取到本机IP地址。 借助 net.InterfaceAddrs 方法 简单示例代码如下&#xff1a; package mainimport ("fmt""net" )func main() {addrList, err : net.InterfaceAddrs()if err ! nil {panic(err)}for…

VSCode学习笔记一:添加代码模板

一目了然 1 简述2 设置模板3 Global Snippets file示例 1 简述 问&#xff1a;为什么要设置代码模板&#xff1f; 答&#xff1a;编程语言是有个性的&#xff0c;不同语言的演讲风格是不一样的。 旁白&#xff1a;我不懂&#xff1f;&#xff01; 问&#xff1a;为什么要设置…

OpenPose

OpenPose Doc - Installation - Prerequisites

qt作业day4

//clock_exercise.cpp#include "clock_timer.h" #include "ui_clock_timer.h"//时间事件处理函数 void Clock_Timer::timerEvent(QTimerEvent *event) {if(event->timerId() time_id){sys_tm QDateTime :: currentDateTime(); // int year sy…

【c++】如何有效地利用命名空间?

​ &#x1f331;博客主页&#xff1a;青竹雾色间 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ​✨人生如寄&#xff0c;多忧何为 ✨ 目录 前言什么是命名空间&#xff1f;命名空间的语法命名空间的使用避免命名冲突命名空间的嵌套总结 前言 当谈到C编…

直播APP源码搭建:核心的服务器系统

在现代科技的推动下&#xff0c;网络衍生出了各种各样的技术&#xff0c;每个技术都被应用到需要的APP上&#xff0c;直播APP源码搭建出来的APP就是其中的一个&#xff0c;然而&#xff0c;这些技术能够成功的在直播APP源码搭建的APP中稳定的为用户们提供功能与服务&#xff0c…

芯科蓝牙BG27开发笔记-新建示例工程

此笔记的必要性 芯科的官方资料很丰富&#xff0c;并且ssv5中能方便索引到所需文档&#xff0c;不过大而全的问题就是找不到合适的切入点&#xff0c;更不会有本地化比较好的中文的系统的教程了。往往看到一个starting guide&#xff0c;会延伸其他starting guide&#xff0c;…

【Linux】Epoll Reactor【反应堆】模式的工作流程

Reactor模式的工作流程 主线程往epoll内核事件表中注册socket上的就绪事件。主线程调用epoll_wait等待socket上有数据可读。当socket上有数据可读时&#xff0c;epoll_wait通知主线程。主线程将socket可读事件放入请求队列。睡眠在请求队列上的某个工作线程被唤醒&#xff0c;…

ubuntu设置sudo免密

前提&#xff1a;有root权限 本质是修改/etc/sudoers 文件&#xff0c;但直接编辑这个文件容易改错造成系统异常&#xff0c;因此一般使用sudo visudo命令修改&#xff0c;这个命令保存时会检查文件格式&#xff0c;该命令会使用默认文本编辑器把/etc/sudoers 读到一个临时文件…