飞牛系统安装DataEase自定义Docker包

飞牛系统安装DataEase自定义Docker包

背景

有网友需要在飞牛系统上部署一套定制的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

相关推荐
HalvmånEver3 小时前
Linux:命名管道实现IPC(进程间通信七)
linux·运维·服务器·ipc·命名管道·管道pipe
zyu678 小时前
03-Docker存储和网络
网络·docker·容器
正在学习前端的---小方同学9 小时前
Harbor部署教程
linux·运维
牛奔9 小时前
Docker Compose 两种安装与使用方式详解(适用于 Docker 19.03 版本)
运维·docker·云原生·容器·eureka
翼龙云_cloud10 小时前
阿里云渠道商:如何手动一键扩缩容ECS实例?
运维·服务器·阿里云·云计算
木童66210 小时前
Kubernetes 操作管理完全指南:从陈述式到声明式,覆盖全生命周期
云原生·容器·kubernetes
DX_水位流量监测11 小时前
大坝安全监测之渗流渗压位移监测设备技术解析
大数据·运维·服务器·网络·人工智能·安全
电商API&Tina11 小时前
京东 API 数据采集接口接入与行业分析
运维·服务器·网络·数据库·django·php
不想画图11 小时前
Kubernetes(三)——组网概念和基础操作指令
云原生·容器·kubernetes
Mr_Xuhhh12 小时前
博客标题:深入理解Shell:从进程控制到自主实现一个微型Shell
linux·运维·服务器