安装docker+onlyoffice服务器
- 安装docker
- 在docker上安装onlyoffice镜像
- 在web应用中配置访问onlyoffice
1、安装docker
1.1、安装相关依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.2、添加国内源,提高网络传输效率
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.3、更新 yum 软件源缓存,并安装 docker-ce
sudo yum makecache fast
sudo yum install docker-ce
可能报错
--> Processing Conflict: 1:docker-ce-cli-18.09.6-3.el7.x86_64 conflicts docker
--> Processing Conflict: 1:docker-ce-cli-18.09.6-3.el7.x86_64 conflicts docker-io
--> Processing Conflict: 3:docker-ce-18.09.6-3.el7.x86_64 conflicts docker
--> Processing Conflict: 3:docker-ce-18.09.6-3.el7.x86_64 conflicts docker-io
--> Finished Dependency Resolution
Error: docker-ce conflicts with 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
Error: docker-ce-cli conflicts with 2:docker-1.13.1-96.gitb2f74b2.el7.centos.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest解决办法
# 1、查看安装过的docker:
yum list installed | grep docker
docker.x86_64 2:1.13.1-74.git6e3bb8e.el7.centos
docker-client.x86_64 2:1.13.1-74.git6e3bb8e.el7.centos
docker-common.x86_64 2:1.13.1-74.git6e3bb8e.el7.centos
# 2、卸载docker:
sudo yum remove -y docker-ce.x86_64 docker-client.x86_64 docker-common.x86_64
# 3、删除容器镜像:
sudo rm -rf /var/lib/docker
# 4、 重新安装docker
sudo yum install docker-ce
1.4、启动docker,且设置开机自启
# 开机自启
sudo systemctl enable docker
# 启动docker服务
sudo systemctl start docker
# 重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
检查docker是否安装成功
docker run hello-world
查看docker版本信息
docker -v
1.4、常用的docker命令
# 下载镜像:docker pull <镜像名:tag> 如:下载centos镜像
docker pull centos
docker pull sameersbn/redmine:latest
# 查看已下载镜像
docker images
# 删除容器
docker rm <容器名 or ID>
# 查看容器日志
docker logs -f <容器名 or ID>
# 查看正在运行的容器
docker ps
# 查看所有的容器,包括已经停止的。
docker ps -a
# 删除所有容器
docker rm $(docker ps -a -q)
# 停止、启动、杀死指定容器
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
# 后台运行 docker run -d <Other Parameters>
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
# 暴露端口: 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
# 映射数据卷
docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址
2、安装onlyoffice
2.1、拉取onlyoffice镜像
sudo docker pull onlyoffice/documentserver
2.2、创建几个目录 用于onlyoffice的数据卷
mkdir log data lib db
2.3、启动镜像
sudo docker run -i -t -d -p 8001:80 --restart=always \
-v /home/data/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
-v /home/data/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
-v
/home/data/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
-v /home/data/onlyoffice/db:/var/lib/postgresql onlyoffice/documentserver:6.1
cde96a34cb1d onlyoffice/documentserver:6.1 "/app/ds/run-documen…" 12 seconds ago Up 4 seconds 443/tcp, 0.0.0.0:8001->80/tcp lucid_pascal
2.4、验证安装是否成功
http://192.168.1.25:8001/web-apps/apps/api/documents/api.js
http://document.server.pasok.cn/web-apps/apps/api/documents/api.js
2.5、onlyoffce前端应用设置Vue对接
在全局index.html中将api.js引入
loadDocumentFile(data) {
const zoom = (data.fileType=='ppt'||data.fileType=='pptx')?-1:-2
new DocsAPI.DocEditor('placeholder', {
document: {
fileType: data.fileType,
key: data.key,
title: data.title,
url: data.url,
permissions: {
copy: false,
comment: false,
download: false,
edit: false, // (文件是否可以编辑,false时文件不可编辑)
fillForms: false,
print: false,
review: false
}
},
documentType: data.documentType, // .doc, .docm, .docx, .dotx, .epub, .htm, .html, .pdf, .txt, .xml -word
type: data.type, // mobile desktop
width: '100%',
height: '100%',
editorConfig: {
customization: {
anonymous: {
request: false,
label: "XX平台"
},
chat: false,
comments: false,
help: true,
plugins: false,
unit: 'cm',
zoom: zoom,//-1根据当前窗口高宽自适应ppt -2根据页面的宽度自适应
goback: {
blank: true,
requestClose: false,
text: '新标签全屏打开',
url:
location.origin +
'/#/officePreview/' +
this.$route.params.id +
'/' +
this.$route.params.type
}
},
embedded: {
toolbarDocked: 'top'
},
lang: 'zh-CN',
mode: 'view'
}
})
}