1.通过docker安装onlyoffice
找一台能访问互联网的服务器下载onlyoffice镜像
sudo docker pull onlyoffice/documentserver
查看镜像
docker images
启动onlyoffice
docker run -itd \
--name onlyoffice2 \
--restart always \
-p 8099:80 \
-v /opt/docker_onlyoffice/log:/var/log/onlyoffice \
-v /opt/docker_onlyoffice/data:/var/www/onlyoffice/Data \
-v /opt/docker_onlyoffice/lib:/var/lib/onlyoffice \
-v /opt/docker_onlyoffice/db:/var/lib/postgresql \
-e JWT_ENABLED=false \
-d 1135fdaaa9d3
使用docker ps 查看镜像是否启动成功
进入onlyoffice容器
docker exec -it 50dd9cae653e(容器id)/bin/bash
启动之后我们发现rabbitmq的进程占用到了cpu的100%,导致onlyoffice无法正常使用。先关停onlyoffice已经封装好的rabbitmq。为避免docker重启之后rabbitmq自动启动,可将rabbitmq相关文件进行删除。
rm -rf /usr/lib/erlang
rm -rf /usr/sbin/rabbitmq-server
rm -rf /usr/lib/ocf/resource.d/rabbitmq
rm -rf /usr/share/rabbitmq
修改default.json和local.json:主要是mq,数据库,
允许私有ip通过配置(使用时OnlyOffice 打开文档时提示下载失败,报错
Error: DNS lookup xxx.xxx.xxx.xx(family:undefined, host:undefined) is not allowed. Because, It is private IP address.
)
nano /etc/onlyoffice/documentserver/default.json
nano /etc/onlyoffice/documentserver/local.json
启动nginx
确保在容器中:输入nginx并回车
启动onlyoffice
如果启动文档服务和文档转换服务有错误,请在容器中进入/var/log/onlyoffice/下面查看启动日志
sudo supervisord -c /etc/supervisor/supervisord.conf
//启动文档示例
sudo supervisorctl restart ds:example
//启动文档服务
sudo supervisorctl restart ds:docservice
//启动文档转换服务
sudo supervisorctl restart ds:converter
sudo sed 's,autostart=false,autostart=true,' -i /etc/supervisor/conf.d/ds-example.conf
启动成功后确保3000端口和8000端口能正常访问
2、安装rabbitmq
下载镜像
docker pull rabbitmq:latest
启动mq
docker run -d --hostname rabbitmq --name myrabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:latest
进入容器
docker exec -it 24958b4c709a(容器id) /bin/bash
开启web管理界面
umask 0022;rabbitmq-plugins enable rabbitmq_management
浏览器访问控制台
http://ip:15672 guest guest
报错:Management API returned status code 500 -
因为是使用docker 容器安装的,所有需要进入容器
docker exec -it rabbitmq /bin/bash
进入目录
cd /etc/rabbitmq/conf.d/
执行命令
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
退出容器
exit
重启rabbitmq
docker restart rabbitmq
3、安装mysql
docker pull mysql:8.0
docker run -itd --restart=always --name mysql8.0 -p 3306:3306 \
-v /opt/docker_mysql/log:/var/log/mysql \
-v /opt/docker_mysql/data:/var/lib/mysql \
-v /opt/docker_mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d d77db3b0e88f
备注:
lower_case_table_names=1:忽略大小写;
max_connections:最大连接数量;
–name:为容器指定一个名称,此处命名为mysql8.0
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
-d:后台运行容器,并返回容器ID;
3.1.登录容器
登录容器之前需要先启动容器:docker start 容器id
登录容器:docker exec -it 容器id /bin/bash
3.2.登录mysql
进入容器,从容器中登录MySQL:mysql -uroot -proot1234
3.3.设置远程连接
根据MySQL版本进行设置
(1)MySQL5.7版本的设置远程连接,使用命令:
use mysql;
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'root';
3.4.docker中设置mysql数据库开机自启:
docker update mysql8.0 --restart=always 容器id
安装最新版sql后工具无法连接错误解决:
http://www.idccoupon.com/3432.html
4.redis安装
docker安装redis_docker 安装redis-CSDN博客5
5.mongo安装