飞牛系统安装DataEase自定义Docker包
-
- 背景
- [构造DataEase Docker包](#构造DataEase Docker包)
- [上传DataEase Docker包](#上传DataEase Docker包)
-
- [1.把本地docker 容器导出](#1.把本地docker 容器导出)
-
- [1.1查看镜像列表命令:docker images](#1.1查看镜像列表命令:docker images)
- [1.2 执行导出命令:docker save -o tar文件名 仓库名称:TAG名称](#1.2 执行导出命令:docker save -o tar文件名 仓库名称:TAG名称)
- 2.使用飞牛的文件管理上传Docker包
- 安装1Panel组件
- 创建容器
-
- 1.进入1Panel,双击桌面1Panel图标
- 2.导入镜像
-
- 2.1.查看文件位置
- [2.2 导入镜像](#2.2 导入镜像)
- 3.创建容器
- [启动DataEase Docker](#启动DataEase Docker)
- 进入飞牛终端
- 常见问题解决
-
- [1.Pulling Get "https://registry-1.docker.io/v2/": net/http: request canceled w](#1.Pulling Get "https://registry-1.docker.io/v2/": net/http: request canceled w)
- [2.The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.](#2.The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
- 最后
背景
有网友需要在飞牛系统上部署一套定制的DataEase,但是飞牛系统都是Docker方式安装,以前没接触过,听过飞牛系统,Docker也只是听说过。今天想尝试一下。大概理一下思路:
先将DataEase 打成Docker包,然后导出。再上传飞牛系统,再看怎么导入
构造DataEase Docker包
1.在Linux 系统中(比如我这里选麒麟V10)安装Docker
javascript
sudo yum install -y docker
2.准备打包文件
我创建目录/setup/jdk21
javascript
mkdir /setup/jdk21
然后把jdk21 和dataease2.0 复制进去,变成
javascript
[root@localhost ~]# cp -r /usr/local/jdk21 /setup/jdk21
[root@localhost ~]# cp -r /opt/dataease2.0 /setup/jdk21
[root@localhost ~]# ll /setup/jdk21
总用量 4
drwxr-xr-x 7 root root 133 7月 21 10:10 dataease2.0
-rw-r--r-- 1 root root 413 7月 21 10:11 Dockerfile
drwxr-xr-x 10 root root 149 7月 15 21:00 jdk-21
在/setup/jdk21创建Dockerfile,内容如下:
javascript
[root@localhost ~]# cd /setup/jdk21
[root@localhost jdk21]# vi Dockerfile
javascript
FROM debian:11-slim
# 安装必要的基础库
RUN apt-get update && apt-get install -y libc6 zlib1g libstdc++6 && \
rm -rf /var/lib/apt/lists/*
COPY jdk-21 /opt/jdk-21
COPY dataease2.0 /opt/dataease2.0
# 设置环境变量
ENV JAVA_HOME=/opt/jdk-21 \
PATH=/opt/jdk-21/bin:$PATH
# 设置工作目录
WORKDIR /opt/dataease2.0
# 3. 运行 Java 程序
ENTRYPOINT ["java", "-jar", "CoreApplication.jar"]
【说明】:
COPY jdk-21 /opt/jdk-21 是将当前目录的下的jdk-21 复制到容器目录/opt/jdk-21
debian:11-slim 是oracle jdk21 依赖的库
3.执行打包
javascript
docker build -t dataease .
【注意】如果打包时报连接超时之类,需要修改/etc/docker/daemon.json文件,内容如下:
javascript
{
"registry-mirrors": [
"https://registry.cn-hangzhou.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://2a6bf1988cb6428c877f723ec7530dbc.mirror.swr.myhuaweicloud.com",
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://your_preferred_mirror",
"https://dockerhub.icu",
"https://docker.registry.cyou",
"https://docker-cf.registry.cyou",
"https://dockercf.jsdelivr.fyi",
"https://docker.jsdelivr.fyi",
"https://dockertest.jsdelivr.fyi",
"https://mirror.aliyuncs.com",
"https://dockerproxy.com",
"https://mirror.baidubce.com",
"https://docker.m.daocloud.io",
"https://docker.nju.edu.cn",
"https://docker.mirrors.sjtug.sjtu.edu.cn",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.iscas.ac.cn",
"https://docker.rainbond.cc"
],
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
主要是registry-mirrors 这段
4.验证打好的包
使用docker ps -a
第一行dataease就是打包结果
运行docker 包
命令:docker start 容器ID
查看容器运行日志
命令:docker log 容器ID
上传DataEase Docker包
1.把本地docker 容器导出
1.1查看镜像列表命令:docker images

1.2 执行导出命令:docker save -o tar文件名 仓库名称:TAG名称

执行完后,在当前目录下产生dataease.tar文件
2.使用飞牛的文件管理上传Docker包
把上面dataease.tar下载到本地windows,然后打开飞牛网站
双击打开文件管理
走到指定目录,点击上传按钮,选择上传文件,在弹出对话框选择刚才文件,上传即可。
安装1Panel组件
在飞牛系统界面,打开应用中心,找到1Panel图标,点击下图的安装,如下图:
点击下一步,设置安全入口、用户名、密码
这里安全入口设置为123456
创建容器
1.进入1Panel,双击桌面1Panel图标
【注意】如果打不开的网页,则检查是否开放了18090端口
2.导入镜像
2.1.查看文件位置
还记得前面有一步上传DataEase Docker包,走到那个tar文件,右键看详细信息
在弹出对话框,点击复制原始路径,把复制到写字板,后面使用
2.2 导入镜像
切回到1Panel界面
依次点击红框菜单,最后在路径输入框粘贴2.1复制出来的原始路径,点击右下角导入按钮
导入成功,会出现如下图:
3.创建容器
切换到容器页签
录入容器名称及镜像名称,点击确定。你还可以设置后面的cpu数量,内存数量,映射端口等
启动DataEase Docker
在dataease容器操作栏点击更多,弹出菜单点击启动
进入飞牛终端
有时,需要修改配置文件,必须进入终端
在1Panel 左边工具条,点击主机,再点击终端,如下图:
它默认连接127.0.0.1,所以连接失败
在主机页签增加主机
回到终端页签
鼠标移到+号,点击下面的admin@xxx.xxx.xxx.xxx
常见问题解决
如果构造容器,或启动容器报错:
1.Pulling Get "https://registry-1.docker.io/v2/": net/http: request canceled w
这是构建容器时,下载包报错,类似第一步构造DataEase Docker包,修改/etc/docker/daemon.json,内容如下:
javascript
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://docker.m.daocloud.io/",
"https://huecker.io/",
"https://dockerhub.timeweb.cloud",
"https://noohub.ru/",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn",
"https://xx4bwyg2.mirror.aliyuncs.com",
"http://f1361db2.m.daocloud.io",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
修改配置文件
再次执行构造容器操作即可
2.The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
SQL State : 08S01
Error Code : 0
Message : Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
这是数据库连接错误,需要修改数据库配置文件
进入终端:
先把dataease docker包的配置文件:/opt/dataease2.0/application-standalone.yml 复制出来
然后修改,再复制回去,再重启docker
看目前容器id
把容器配置文件复制出来
sudo docker cp 33fd192410df:/opt/dataease2.0/application-standalone.yml ./fixed-config.yml
修改配置文件
sudo vi fixed-config.yml
修改完后,覆盖回去
sudo docker cp ./fixed-config.yml 33fd192410df:/opt/dataease2.0/application-standalone.yml
重启docker
最后
这个过程耗费了三天时间。感觉还值得,以前感觉docker挺神秘的。如需沟通:lita2lz