前言:
在本文中,我们将详细介绍如何使用 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访问时就会出现问题。如需要最新版本,移除版本号即可。