前言
公司的arm服务器上运行onlyoffice报错
出错原因
是x86_64架构的镜像在arm服务器下不兼容
需要下载兼容arm架构的docker镜像
在dockerhub上 onlyoffice地址:
https://hub.docker.com/r/onlyoffice/documentserver
下载兼容arm架构的镜像版本
# docker --version Docker version 20.10.21, build baeda1f # docker pull onlyoffice/documentserver:latest --platform=arm64 # docker inspect onlyoffice/documentserver | grep Architecture "Architecture": "arm64",
下载完镜像,查看镜像架构是arm64
开工:
- 导出镜像
docker save onlyoffice/documentserver -o onlyoffice-documentserver.tar
- 压缩镜像
tar -czvf onlyoffice-documentserver.tar.gz onlyoffice-documentserver.tar
- 部署运行
docker run -itd -p 9797:443 -p 9696:80 --restart=always \ --name onlyoffice \ -v /home/onlyoffice/documentServer/logs:/var/log/onlyoffice \ -v /home/onlyoffice/documentServer/data:/var/www/onlyoffice/Data \ -v /home/onlyoffice/documentServer/lib:/var/lib/onlyoffice \ -v /home/onlyoffice/documentServer/db:/var/lib/postgresql \ onlyoffice/documentserver
- 挂载的目录不存在,默认会创建,但不会授权。需要自己给目录赋权限。
代码如下:
# 日志目录, 具体out.log 在 logs 子目录下 /documentserver/docservice chmod -R 775 /home/onlyoffice/documentServer/logs chmod -R 775 /home/onlyoffice/documentServer/data chmod -R 775 /home/onlyoffice/documentServer/lib chmod -R 775 /home/onlyoffice/documentServer/db
docker ps -a | grep onlyoffice
docker logs --since 30m 89cb8fd5597d
测试
访问页面http://IP: PORT/
IP为linux系统机器 IP,端口为 -port 映射 80 的端口
升级为HTTPS协议
Private key (.key) : 私钥 SSL certificate (.crt): 证书签名请求文件 SSL certificate: SSL证书
使用openssl 生成
- 生成私钥
openssl genrsa -out onlyoffice.key 2048
2. 生成CSR,即:证书签名请求文件
[blockquote2 name=’洛维花’]CSR是Certificate Signing Request的英文缩写,即证书签名请求文件[/tip]
openssl req -new -key onlyoffice.key -out onlyoffice.csr
# 生成365天期限的SSL证书 openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt
总结
记录步骤,以防忘记。