使用Docker安装onlyoffice

3,310 阅读1分钟

安装docker

Docker Desktop下载

下载对应的版本安装 image.png

安装onlyoffice

官方文档

拉镜像 docker pull onlyoffice/documentserver

查看镜像
docker images

image.png 也可以在安装好的docker中查看

image.png

这时onlyoffice镜像已经安装完成啦

启动onlyoffice容器

1、命令行 docker run -i -t -d -p 9004:80 --restart=always onlyoffice/documentserver

  • -p 80:80 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。
  • --restart=always 容器自动重启
  • onlyoffice/documentserver 镜像名称 2、docker中启动

在images中找到onlyOffice点击run,修改端口号。443/tcp是https,80/tcp是http根据需要修改 image.png

然后在容器中就能看啦 image.png

查看是否启动成功

1、命令行 curl 127.0.0.1:9004/welcome

image.png 2、docker中

image.png

image.png 对用的前端API地址为https://ip:port/web-apps/apps/api/documents/api.js

image.png

启动本地服务器

MacOS系统自带了Apache服务器,相关命令

//开启apache:  sudo apachectl start

//重启apache:  sudo apachectl restart

//关闭apache:  sudo apachectl stop

sudo apachectl start启动后访问http://127.0.0.1 默认端口是80,如果不成功检查端口是否被占用 sudo lsof -iTCP:80 -sTCP:LISTEN

1、Apache本地服务器文件地址:/Library/WebServer/Documents
2、把需要放置的文件放在该目录下,Documents是隐藏的可以通过前往文件夹输入来打开.

image.png

将ONLYOFFICE集成到网页中

接口文档

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>onlyOffice</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            body {
                height: 100vh;
            }
        </style>
    </head>
    <body>
        <div id="onlyOffice"></div>
        <script src="http://ip:port/web-apps/apps/api/documents/api.js"
        ></script>
        <script type="text/javascript">
            const config = {
                editorConfig: {
                    lang: "zh-CN",
                    mode: "edit",
                },
                document: {
                    fileType: "xlsx",
                    key: "key",
                    title: "test.xlsx",
                    url: "http://ip/test.xlsx",
                },
                documentType: "cell",
                lang: "zh-CN",
            };
            const docEditor = new DocsAPI.DocEditor("onlyOffice", config);
        </script>
    </body>
</html>