Centos 7 通过Docker部署OnlyOffice

前言:

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

一、安装Docker

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

powershell 复制代码
# 官方源(二选一)
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、生成并更新系统中的软件包缓存

powershell 复制代码
yum makecache fast

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

powershell 复制代码
# 安装 Docker
yum install -y docker-ce

# 启动 Docker
systemctl start docker.service

# 设置 Docker 开机自启
systemctl enable docker.service

# 查看版本
docker version

二、方法一:Docker部署OnlyOffice

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

powershell 复制代码
docker pull onlyoffice/documentserver:7.1.1

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

powershell 复制代码
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 (需要放行端口)

powershell 复制代码
# 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

powershell 复制代码
# 下载并安装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镜像到本地计算机

powershell 复制代码
docker pull onlyoffice/documentserver:7.1.1

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

powershell 复制代码
version: '3'

services:
  onlyoffice:
    container_name: OnlyOffice
    image: onlyoffice/documentserver:7.1.1
    restart: always
    ports:
      - 8088:80
      - 443:443
    environment:
      TZ: Asia/Shanghai
    volumes:
      - /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文件目录下启动容器

powershell 复制代码
docker-compose up -d

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

powershell 复制代码
docker-compose down

四、Docker常用命令

1、查看容器

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

2、启动、停止容器

powershell 复制代码
# 启动容器
docker start <容器ID>
# 停止容器
docker stop <容器ID>

3、移除容器

powershell 复制代码
# 移除容器前需要先停止容器
docker rm <容器ID>

4、删除镜像

powershell 复制代码
# 先查看本地镜像,记住要删除镜像的名称或 ID
docker images

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

5、进入容器

powershell 复制代码
docker exec -it <容器名称或容器ID> /bin/bash

6、修改容器名称

powershell 复制代码
docker rename <旧容器名称> <新容器名称>

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

powershell 复制代码
docker cp <本地文件路径> <容器ID>:<容器目标路径>

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

powershell 复制代码
docker cp <容器ID>:<容器文件路径> <本地目标路径>

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

相关推荐
sp_wxf11 分钟前
Stream流
linux·服务器·windows
LYK_HAHA29 分钟前
centos常用知识和命令
linux·运维·centos
老齐谈电商32 分钟前
开源电商erp系统启航电商ERP系统centos Docker部署
docker·开源·centos
可涵不会debug1 小时前
【Linux】信号知识三把斧——信号的产生、保存和处理
linux·运维·信号
jyan_敬言1 小时前
【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
linux·运维·服务器·c语言·开发语言·汇编·c++
unix2linux2 小时前
Parade Series - SHA256
linux·python·mysql·shell
-$_$-2 小时前
【黑马点评】 使用RabbitMQ实现消息队列——1.Docker与RabbitMQ环境安装
分布式·docker·rabbitmq
芯的一天2 小时前
windows下DockerDesktop命令行方式指定目录安装
windows·docker
学思之道2 小时前
给Linux操作系统命令取个别名
linux·运维·经验分享·学习方法
GOTXX3 小时前
应用层协议HTTP
linux·网络·网络协议·计算机网络·http·fiddler