dataeasev2.10.4-ce服务器版的离线部署

本贴作废,已经分析搞定离线部署。

分享下心得:

核心文件就是 ./dataease/templates/下的application.yml 和my.cnf

修改权限,sql内的用户名是mysql,pid为999

检查install.conf 里面的配置是否符合实际,也就是修改下数据库名,密码而已。

把application.yml 和my.cnf 文件里面对应的参数替换了。

mysql.env 里面的变量值,可以在run 容器的时候 通过 -e 传递

docker run -itd --restart unless-stopped
–name demysql
-e MYSQL_ROOT_PASSWORD=你自己的密码
-v /data2/docker-data/dataease/conf/my.cnf:/etc/mysql/conf.d/my.cnf
-v /data2/docker-data/dataease/data/mysql:/var/lib/mysql
-v /data2/docker-data/dataease/conf/.my.cnf:/root/.my.cnf
–network mynetwork
–ip 172.168.0.17
-p 20008:3306
–health-cmd “mysqladmin ping -h localhost --protocol tcp”
–health-interval 5s
–health-timeout 3s
–health-retries 10
registry.cn-qingdao.aliyuncs.com/dataease/mysql:8.4.0

在/data2/docker-data/dataease/conf目录下增加了一个.my.cnf文件,内容是
[client]
user=root
password=你自己的密码
这个是为了 health-cmd 检查状态的脚本实现免密ping使用

等待状态显示健康了,客户端创建dataease数据库,或者docker创建
docker exec -i demysql mysql -e “CREATE DATABASE `dataease` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;”

docker run -itd --restart unless-stopped
–name dataease
-v /data2/docker-data/dataease/conf:/opt/apps/config
-v /data2/docker-data/dataease/logs:/opt/dataease2.0/logs
-v /data2/docker-data/dataease/data/static-resource:/opt/dataease2.0/data/static-resource
-v /data2/docker-data/dataease/cache:/opt/dataease2.0/cache
-v /data2/docker-data/dataease/data/geo:/opt/dataease2.0/data/geo
-v /data2/docker-data/dataease/data/appearance:/opt/dataease2.0/data/appearance
-v /data2/docker-data/dataease/data/exportData:/opt/dataease2.0/data/exportData
-v /data2/docker-data/dataease/data/plugin:/opt/dataease2.0/data/plugin
-v /data2/docker-data/dataease/data/font:/opt/dataease2.0/data/font
-v /data2/docker-data/dataease/data/i18n:/opt/dataease2.0/data/i18n
-v /data2/docker-data/dataease/logs/dataease/sync-task:/opt/dataease2.0/logs/sync-task
–network mynetwork
–ip 172.168.0.15
-p 20007:8100
registry.cn-qingdao.aliyuncs.com/dataease/dataease:v2.10.4

我们自己内部环境,需要离线部署测试下这个dataease。

我们自己服务器当前都是部署docker,所有的应用都放在容器内,尽可能的不去给宿主服务器安装非必要的软件和配置。

但是看install.sh,好像有挺多的其他配置,还有/usr/bin/dectl等等的内容,还有system/dataease.service。

既然是docker容器部署了,有没有所有内容都在容器的版本哦。容器自己会根据服务器重启而重启。

images我加载了,我就只按docker-compose.yml的内容启动一个容器,是否就可以了。

求指导

用的mysql8是官方的容器。 我再试试压缩包中的mysql镜像

认真看了下install.sh文件,搜了下dectl,这个是docker企业版的命令。我们用的是docker-ce

先参试下 按docker-compose.yml 这个文件内容部署试试看。能不能成功

在mynetwork网络下 创建了mysql8的容器,并新建了dataease的数据库

这个mysql8是官方的容器。 我再试试压缩包中的mysql镜像

docker run -itd --restart unless-stopped
–name mysql8
-e TZ=Asia/Shanghai
-e MYSQL_ROOT_PASSWORD=密码
-e MYSQL_ROOT_HOST=‘%’
-v /data2/docker-data/mysql8/conf.d:/etc/mysql/conf.d
-v /data2/docker-data/mysql8/data:/var/lib/mysql
-v /data2/docker-data/mysql8/log:/var/log/mysql
–network mynetwork
–ip 172.168.0.14
-p 20006:3306
master180:80/mysql:8
–lower_case_table_names=1
–group_concat_max_len=1024000

然后在创建dataease的容器
docker run -itd --restart unless-stopped
–name dataease
-e DE_EXTERNAL_MYSQL=false
-e DE_MYSQL_HOST=mysql8
-e DE_MYSQL_PORT=3306
-e DE_MYSQL_DB=dataease
-e DE_MYSQL_USER=root
-e DE_MYSQL_PASSWORD=密码
-e DE_MYSQL_PARAMS=“autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true”
-v /data2/docker-data/dataease2.0/conf:/opt/apps/config
-v /data2/docker-data/dataease2.0/logs:/opt/dataease2.0/logs
-v /data2/docker-data/dataease2.0/data/static-resource:/opt/dataease2.0/data/static-resource
-v /data2/docker-data/dataease2.0/cache:/opt/dataease2.0/cache
-v /data2/docker-data/dataease2.0/data/geo:/opt/dataease2.0/data/geo
-v /data2/docker-data/dataease2.0/data/appearance:/opt/dataease2.0/data/appearance
-v /data2/docker-data/dataease2.0/data/exportData:/opt/dataease2.0/data/exportData
-v /data2/docker-data/dataease2.0/data/plugin:/opt/dataease2.0/data/plugin
-v /data2/docker-data/dataease2.0/data/font:/opt/dataease2.0/data/font
-v /data2/docker-data/dataease2.0/data/i18n:/opt/dataease2.0/data/i18n
-v /data2/docker-data/dataease2.0/logs/dataease/sync-task:/opt/dataease2.0/logs/sync-task
–network mynetwork
–ip 172.168.0.15
-p 20007:8100
registry.cn-qingdao.aliyuncs.com/dataease/dataease:v2.10.4

docker logs -f dataease

上面有挺多warn

一直在
2025-01-16 17:16:25.658 INFO — [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting…

dataease容器状态都是starting

建议直接整包安装部署,DataEase本身也是基于docker部署运行的,如果检测的你本地已经安装了docker会自动跳过安装docker的步骤,dectl 是操作dataease服务的内置命令,并不是企业版的内容

谢谢。

就是因为是docker部署,应该相关的设置什么的都封装到docker镜像中,而不是install.sh 去配置一堆东西

认真学习那个install.sh文件, 搞定了

无非就是按my.cnf启动一个images文件中的MySQL的容器,在修改下application.yml里面的参数

再run一个服务的容器而已。写的那么的复杂。。

不是说这个安装不行,是我们自己的服务器需求,不想再额外增加什么开启启动程序,没办法重新找一台新的机器,因此在不污染当前服务器环境的情况下,研究部署服务。

了解,欢迎使用