笔记-Linux环境下docker容器安装使用onlyoffice

1,343 阅读4分钟

1.安装VMware

链接:pan.baidu.com/s/1rf-DYGCZ… 提取码:1234

1.1 双击.exe进行安装

image.png

1.2 点击下一步- > 选择接受条款 点击下一步

image.png

image.png

1.3 选择安装路径,默认添加PATH

image.png

1.4 根据自身情况适当选择“启动时检查产品更新”与“帮助完善VMware Workstation Pro”复选框,然后单击“下一步”按钮

image.png

1.5 选中“桌面”和“开始菜单程序文件夹”复选框,然后单击“下一步”按钮

image.png

1.6 一切准备就绪后,单击“安装”按钮(可能需要耗费两分钟)

image.png

1.7 安装完成,页面上图标如下图;可双击启动

image.png

2.新建虚拟机

2.1 进入主页,在主页中点击“创建新的虚拟机”,如下图所示

image.png

2.2 点击创建虚拟机创建自己的虚拟机。可以选择典型

image.png

2.3 在弹出的界面中,找到我们下载好的系统镜像位置,点击选择”打开“,如下图所示:

image.png

2.4 下载系统镜像

cnetos7:download.nus.edu.sg/mirror/cent…

2.5 输入账号密码

image.png

2.6 给你虚拟机起个名字,并选择安装位置

image.png

2.7 没有特别要求,下一步->完成即可 (也可点击自定义硬件设置)

image.png

image.png

2.8 启动虚拟机

image.png

3.在linux系统中安装docker

3.1 首先需要大家虚拟机联网,安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

3.2 然后更新本地镜像源

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

image.png

3.3安装docker

yum install -y docker-ce

3.4 启动docker

Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!

启动docker前,一定要关闭防火墙后!!

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
#查看是否关闭防火墙
systemctl status firewalld

通过命令启动docker

systemctl status docker # 查看docker是否运行

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

image.png

查看docker版本:

docker -v

image.png

3.5 Docker镜像命令

这里补充一些镜像的基础命令,方便学习,可以去dockerhub上拉取镜像hub.docker.com/

查看自己服务器中docker 镜像列表

docker images

image.png

拉取镜像

docker pull 镜像名  
docker pull 镜像名:tag

image.png

不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

删除镜像

docker rmi -f 镜像名/镜像ID

image.png

4.拉取onlyoffice镜像

docker pull onlyoffice/documentserver:latest

运行onlyoffice容器

docker run -i -t -d -p 80:80 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

注意:不需要秘钥的话,需要将JWT_SECRET=my_jwt_secret改为JWT_ENABLED=false

docker run -i -t -d -p 80:80 --restart=always -e JWT_ENABLED=false onlyoffice/documentserver

查看正在运行的镜像

docker ps -a

image.png

up表示该镜像正在运行中

在前段使用部署好的onlyoffice

  1. 给定一个容器

    <div id="onlyoffice"></div>
    
  2. 引入部署在服务器的onlyoffice

    <script type="text/javascript" 
            src="部署onlyoffice的服务器地址/web-apps/apps/api/documents/api.js">
    </script>
    
  3. 创建容器实例对象

    var config = {
        editorConfig: {
          lang: 'zh-CN',
          mode: 'edit', // 编辑模式
          callbackUrl: '后端接口',
          customization: {
            forcesave: 'true',
          },
        },
    
        document: {
          fileType: 'docx', 
          key: 'DPV1QcVGjoZmHmHz0zye',
          title: 'Example Document Title.docx',
          url: 'http://192.168.11.28:5500/1234.docx', //这里填写编辑的文档的url路径
        },
        documentType: 'word',
        lang: 'zh-CN',
    }
     
    var docEditor = new DocsAPI.DocEditor('onlyoffice', config)
    

    callbackUrl: 是一个后端接口地址,这个接口需要返回 { error: 0 },onlyoffice才会对文档进行保存

  4. 开启保存按钮

    1. 修改ONLYOFFICE Document Server里面的一个配置文件 也就是docker里面onlyoffice容器中的配置文件

      路径为/etc/onlyoffice/documentserver/default.json

      也就是要修改default.jsonservices.autoAssembly.enable为true,指定启用重复强制保存。默认值为false。

      {
       "services": {
           "CoAuthoring": {
               "autoAssembly": {
                   "enable": true,
                   "interval": "5m"
               }
           }
       }
      

      这里涉及到文件映射,因为docker中的容器的配置文件是不支持直接修改的,所以需要在容器外创建新的文件,将需要修改的文件的内容全部复制一份到新的文件中,然后对需要修改的内容进行修改,修改完后就将文件映射进去

      如果启动了onlyoffice容器, 先将该容器停止了先:

      docker stop onlyoffice容器id
      或:
      docker rm -f onlyoffice容器id
      
      docker run -i -t -d -p 80:80 --restart=always -v /opt/config/default.json:/etc/onlyoffice/documentserver/default.json -e JWT_ENABLED=false onlyoffice/documentserver
      

      此处将 服务器本地根目录的 opt下面的config下面的default.json的内容映射到 onlyoffice 容器根目录下的etc目录下的onlyoffice下的documentserver下的default.json文件中

      这里补充一个命令: 进入docker指定容器的终端

      docker exec -it 容器id bash
      
    2. 前端的配置中修改编辑初始化参数editorConfig.customization.forcesave为true。在编辑器初始化配置中将其设置为true,在这种情况下,每次用户单击“ 保存” 按钮时,将请求发送回ONLYOFFICE Document Server执行保存操作。

       "editorConfig": {
          "callbackUrl":"", // callbackUrl也需要给定接口地址,不然保存功能也不能使用
          "customization":{
              "forcesave":"true"
          }
       }
      

停止指定的id的容器

docker stop container-id

强制停止指定id的容器

docker rm -f container-id