初期我是用的window直接安装的dzzoffice,不过很可惜不好迁移,一旦有机器迁移,同样的过程要做很多遍,各种配置环境其实都是没有必要的反复工作,基于以上情况,特此为了转成docker版并且把这个过程做一个记录,分享出来…
系统:windows 10 企业版
工具:dockerToolbox
在开始之前,提供一些文章,方便对docker了解不多的同学可以更方便的使用
dockerToolbox和docker for windows的区别
了解了区别,我们来了解下安装教程,笔者选择了dockerToolbox是由于这个出的相对比较早,在国内的环境之下,这个相关的踩坑以及文档更便于查看,同时请大家注意 hyper -v是很多的手机虚拟机冲突,所以大家可以根据情况选择一下
dockerToolbox安装教程
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。
Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像,参数,依赖。一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务发现及负载均衡。
注意,windows版本的docker-compose是自带的,不需要额外安装,这里是给大家一个前置印象
提供给大家一些素材,方便大家了解,本文用到的 docker与docker-compose命令
构建dockerfile命令
docker build -t kooteam:1.0 .
注意构建是 工程名:版本号 外加一个 “ . ”,控制台一定要进入到dockerfile所在的目录
构建docker-compose命令
docker-compose up -d # 在后台启动服务
docker-compose ps # 查看启动的服务
docker-compose stop #停止服务
docker命令学习了解
docker-compose 命令了解
dzzoffice官方github方便查看最新版本,大家可以根据版本自行构建想要的版本的docker image
首先笔者使用的笔者用的是v2.0.2,参考的dockerfile是这个人做的
dockerfile,大家可以自行更换下文中的版本号,利用
FROM php:7.3.8-apache-stretch
ENV VERSION 2.02
RUN apt-get update && apt-get install -y libzip-dev libfreetype6-dev \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install gd \
&& docker-php-ext-install zip
RUN curl -o /tmp/dzzoffice-${VERSION}.tar.gz https://codeload.github.com/zyx0814/dzzoffice/tar.gz/${VERSION} \
&& tar -xzvf /tmp/dzzoffice-${VERSION}.tar.gz -C /tmp \
&& rm -rf /tmp/dzzoffice-${VERSION}.tar.gz /tmp/dzzoffice-${VERSION}/*.md \
&& mv /tmp/dzzoffice-${VERSION}/* /var/www/html/
RUN chown -R www-data:www-data /var/www/html/
如果不想自行制作的同学也可以直接利用现成的,不过速度会慢很多,因为很多的个人的dockerfile image是不会被阿里收录的。
接下来是正式的构建,命令进入有docker-compose.yml(拷贝到想要构建的目录里面)的文件夹
利用
docker-compose up -d
即可实现基本的构建,不过直接利用个人的dockerfile构建笔者测试感觉是比较慢的,所以笔者就在他人的基础上,对docker-compose.yml进行了小小的改造:
version: "2.2"
networks:
internal_network:
services:
mysql:
restart: always
networks:
- internal_network
#network_mode: bridge
image: mysql:5.7.27
environment:
- MYSQL_ROOT_PASSWORD=gmtools
volumes:
- /e/dockerspace/dzzoffice/mysql:/var/lib/mysql
expose:
- "3306"
ports:
- "3307:3306"
phpmyadmin:
restart: always
#network_mode: bridge
image: phpmyadmin/phpmyadmin:4.7.9-1
links:
- "mysql"
environment:
- PMA_HOST=mysql
volumes:
# 替换为自己想要的目录
- /e/dockerspace/dzzoffice/mysql:/var/lib/mysql
expose:
- "80"
ports:
- "1801:80"
dzzoffice:
restart: always
networks:
- internal_network
#network_mode: bridge
# 替换为你自己好的image名字
image: registry.cn-hangzhou.aliyuncs.com/blackjuly/work:1.0 #land007/dzzoffice:latest
volumes:
# 替换为自己想要的目录
- /e/dockerspace/dzzoffice/html:/var/www/html/
links:
- "mysql"
expose:
- "80"
ports:
- "1800:80"
onlyoffice:
#此处笔者直接替换成了官方的onlyoffice
image: onlyoffice/documentserver:latest
restart: always
networks:
- internal_network
#network_mode: bridge
expose:
- "80"
ports:
- "8000:80"
# collabora: 由于作者用不到这个,就直接关闭掉了
# image: collabora/code:latest
# restart: always
# networks:
# - internal_network
# #network_mode: bridge
# expose:
# - "9980"
# ports:
# - "9980:9980"
# environment:
# - username=admin
# - password=S3cRet
#http://192.168.1.218:8000/web-apps/apps/api/documents/api.js
#unset ${!DOCKER_*}
#sudo docker-compose up -d
#sudo docker-compose down
为了保护C盘容量,可以考虑映射到别的盘符
docker目录映射到其他盘符
chrome和opera浏览器中输入中文,键入符号的时候,前面的中文会重复输入进去。
浏览器访问不能以localhost,127.0.0.1来直接访问,需要输入你完整的地址(例如:192.168.0.xx:8090/…),不然无法打开在线编辑功能
目前只有最新版本的Chrome,Firefox,Safari或Internet Explorer网络浏览器支持文档编辑器(IE9以前的都不支持onlyoffice的文档编辑器)
历史版本功能目前是只支持word的历史版本,PowerPoint和Excel不支持历史版本,并且历史版本只能看,不能再次编辑
觉得笔者写的还可以的,欢迎看一下我的博客