0. 系統(tǒng)要求
中央處理器 I5-10400F以上
內(nèi)存 16 GB,最佳32G內(nèi)存
硬盤 至少40 GB的可用空間
1:安裝Docker Desktop
2:進入BIOS設(shè)置CPU的虛擬化
https://jingyan.baidu.com/article/ab0b56305f2882c15afa7dda.html
3:啟動Docker desktop
報錯解決:https://www.jb51.net/article/214820.htm
3:cmd進入,使用命令安裝onlyoffice
安裝通用版:
docker pull hub.c.163.com/gongzh/onlyoffice:latest
運行
docker run -i -t -d -p 8702:80 hub.c.163.com/gongzh/onlyoffice
安裝社區(qū)版本【免費】:
docker run -i -t -d -p 8703:80 --restart=always onlyoffice/documentserver
查看容器,輸入docker ps ,
進入容器,docker exec -i -t e15 /bin/bash 【e15是容器ID】
安裝中文包,onlyoffice中文字體包,解壓之后運行docker_run.sh
4:123.rar文件是編輯word的代碼,onlyoffceExample是接受文件的代碼
https://gitee.com/zhuhaos/onlyoffice/repository/archive/master.zip
5:H5頁面配置,【必須使用ip地址而不是localhost】
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body style="height:900px;">
<div id="placeholder" style="height:880px;"></div>
<script type="text/javascript" src="http://192.168.1.140:8703/web-apps/apps/api/documents/api.js"></script>
<script type="text/javascript">
var config = {
"editorConfig": {
"lang": "zh-CN",
"mode": "edit",
},
"document": {
"fileType": "docx",
"key": "Khirzs6zTPdfd27",
"title": "Example Document Title.docx",
"url": "http://192.168.1.140/1234.docx",//這里填寫文檔的url路徑
},
"documentType": "text",
"lang": "zh-CN",
};
var docEditor = new DocsAPI.DocEditor("placeholder", config);
</script>
</body>
</html >
6:存在的問題必須使用【社區(qū)版本】,一個是【中文字體】
7:關(guān)閉頁面后,自動保存的回調(diào).
body:{"key":"12NAFE","status":2,"url":"http://192.168.1.140:8702/cache/files/12NAFE_3573/output.docx/output.docx?md5=Ig6ycB-dGH708fuNDt-Tsg==&expires=1623199603&disposition=attachment&ooname=output.docx","changesurl":"http://192.168.1.140:8702/cache/files/12NAFE_3573/changes.zip/changes.zip?md5=asEzUMiPjS5a-17wxp7oPA==&expires=1623199603&disposition=attachment&ooname=output.zip","history":
{"serverVersion":"5.1.3","changes":
[{"created":"2021-06-09 00:16:31","user":
{"id":"uid-1623197783691","name":"Anonymous"
}},
{"created":"2021-06-09 00:16:43","user":
{"id":"uid-1623197795750","name":"Anonymous"
}},{"created":"2021-06-09 00:24:48","user":
{"id":"uid-1623198283436","name":"Anonymous"
}}]},"users":["uid-1623198283436"],"actions":
[{"type":0,"userid":"uid-1623198542944"
}],"lastsave":"2021-06-09T00:27:54.050Z","notmodified":false
}
8:文件接收關(guān)鍵代碼【一般處理程序】
public void ProcessRequest(HttpContext context)
{
string body;
using (var reader = new StreamReader(context.Request.InputStream))
body = reader.ReadToEnd();
var fileData = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(body);
if (fileData != null && fileData["status"].ToString() == "2")
{
var req = WebRequest.Create((string)fileData["url"]);
string PATH_FOR_SAVE = context.Server.MapPath("~/temp/") + DateTime.Now.ToString("yyyyMMddhhmmss") + ".docx";
using (var stream = req.GetResponse().GetResponseStream())
using (var fs = File.Open(PATH_FOR_SAVE, FileMode.Create))
{
var buffer = new byte[4096];
int readed;
while ((readed = stream.Read(buffer, 0, 4096)) != 0)
fs.Write(buffer, 0, readed);
}
}
context.Response.Write("{\"error\":0}");
}
以上就是docker部署 onlyoffice的詳細內(nèi)容,更多關(guān)于docker部署 onlyoffice的資料請關(guān)注腳本之家其它相關(guān)文章!