使用Docker部署ONLYOFFICE Document Server 原创 Linux Docker Centos Onlyoffice Innev 04月20日发布 ##推荐服务器配置 既然官方文档有说,那就贴在下面吧。 配置方面还是尽量满足吧,实测会消耗很多资源,小内存VPS根本扛不住。 RAM: 4 GB+ CPU: 双核 2 GHz + Swap: 至少2 GB HDD: 至少有2GB的剩余空间 系统要求: RedHat 64bit,CentOS类、Debian类的内核版本3.8以上; Mac OS X 版本 10.8+ Docker: 1.9.0版本及以上 ## 一、安装Docker #### 1.1 CentOS/RedHat/Fedora 系统 使用yum命令安装Docker: ```shell yum install docker -y ``` 启动Docker服务: ```shell systemctl start docker ``` #### 1.2 Debian/Ubuntu 系统 使用apt命令安装Docker: ```shell sudo apt-get install docker.io ``` 安装后docker会自动启动 #### 1.3 MAC 系统 下载MAC版本安装程序,然后按照提示直接安装,下载地址: [http://get.daocloud.io/#install-docker-for-mac-windows](http://get.daocloud.io/#install-docker-for-mac-windows "http://get.daocloud.io/#install-docker-for-mac-windows") 安装后单击进行docker图标进行启动 ## 二、拉取ONLYOFFICE Document Server 的Docker镜像 拉取镜像: ```shell sudo docker pull onlyoffice/documentserver ``` ![镜像拉取成功](http://www.innev.cn/upload/article/images/18_pull.jpg "镜像拉取成功") ## 三、启动Docker容器 启动Document Server镜像,并映射9090端口至本地。 ```shell sudo docker run -i -t -d -p 9090:80 onlyoffice/documentserver ``` ![启动成功](http://www.innev.cn/upload/article/images/18_run.jpg "启动成功") 启动后,访问[服务器地址:9090,就可以看到如下的页面:](http://localhost:9090 "服务器地址:9090,就可以看到如下的页面:") ## 四、备注 Document Server的数据在容器中的储存位置如下: /var/log/onlyoffice 存放ONLYOFFICE Document Server日志 /var/www/onlyoffice/Data 存放证书文件 你可以用 ```shell sudo docker -exec -it onlyoffice/documentserver /bin/bash ``` 登入容器,也可以将以上两个目录映射到本地,这样更方便。 创建目录: ```shell mkdir -p /app/onlyoffice/DocumentServer/logs mkdir -p /app/onlyoffice/DocumentServer/data ``` 使用 ```shell docker -v ``` 将目录映射至本地: ```shell sudo docker run -i -t -d -p 80:80 \ -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver ``` 这样,直接访问本地的 `/app/onlyoffice/DocumentServer/` 下的两个文件夹就可以了。 ## 五、启用HTTPS HTTPS需要使用SSL证书,可以自己签发也可以用ca机构签发的,加密效果相同。 生成证书: 创建私钥 ```shell openssl genrsa -out onlyoffice.key 2048 ``` 创建CSR ```shell openssl req -new -key onlyoffice.key -out onlyoffice.csr ``` 用私枂和CSR签发证书 ```shell openssl x509 -req -days 365 -in onlyoffice.csr -signkey onlyoffice.key -out onlyoffice.crt ``` 用dhparam加密服务器密钥 ```shell openssl dhparam -out dhparam.pem 2048 ``` 完成证书的生成后,将生成的证书拷贝到 `/app/onlyoffice/DocumentServer/data/certs` 目录下。 创建相应目录: ```shell mkdir -p /app/onlyoffice/DocumentServer/data/certs ``` 复制证书到 `/app/onlyoffice/DocumentServer/data/certs` 目录并设置权限: ```shell cp onlyoffice.key /app/onlyoffice/DocumentServer/data/certs/ cp onlyoffice.crt /app/onlyoffice/DocumentServer/data/certs/ cp dhparam.pem /app/onlyoffice/DocumentServer/data/certs/ chmod 400 /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key ``` 运行容器,映射容器的443端口和Data目录至本地: ```shell sudo docker run -i -t -d -p 443:443 \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver ``` 在浏览器里访问 当然了,如果本地443端口已经被占用了的话,可以映射至其它端口: ```shell sudo docker run -i -t -d -p 9000:443 \ -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver ``` 但是仍然是要用HTTPS协议访问,比如:https://服务器地址:9000/ CentOS/RHEL/Fedora无法访问 这是由于SELinux的阻止。 暂时关闭SELinux(重启后失效): ```shell setenforce 0 ``` 04月20日发布 阅读原文 分享到: