> 技术文档 > 飞牛系统安装DataEase自定义Docker包

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


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

    • 背景
    • 构造DataEase Docker包
      • 1.在Linux 系统中(比如我这里选麒麟V10)安装Docker
      • 2.准备打包文件
      • 3.执行打包
      • 4.验证打好的包
    • 上传DataEase Docker包
      • 1.把本地docker 容器导出
        • 1.1查看镜像列表命令:docker images
        • 1.2 执行导出命令:docker save -o tar文件名 仓库名称:TAG名称
      • 2.使用飞牛的文件管理上传Docker包
    • 安装1Panel组件
    • 创建容器
      • 1.进入1Panel,双击桌面1Panel图标
      • 2.导入镜像
        • 2.1.查看文件位置
        • 2.2 导入镜像
      • 3.创建容器
    • 启动DataEase Docker
    • 进入飞牛终端
    • 常见问题解决
      • 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.
    • 最后

背景

有网友需要在飞牛系统上部署一套定制的DataEase,但是飞牛系统都是Docker方式安装,以前没接触过,听过飞牛系统,Docker也只是听说过。今天想尝试一下。大概理一下思路:
先将DataEase 打成Docker包,然后导出。再上传飞牛系统,再看怎么导入

构造DataEase Docker包

1.在Linux 系统中(比如我这里选麒麟V10)安装Docker

 sudo yum install -y docker

2.准备打包文件

我创建目录/setup/jdk21

mkdir /setup/jdk21

然后把jdk21 和dataease2.0 复制进去,变成

[root@localhost ~]# cp -r /usr/local/jdk21 /setup/jdk21[root@localhost ~]# cp -r /opt/dataease2.0 /setup/jdk21[root@localhost ~]# ll /setup/jdk21总用量 4drwxr-xr-x 7 root root 133 721 10:10 dataease2.0-rw-r--r-- 1 root root 413 721 10:11 Dockerfiledrwxr-xr-x 10 root root 149 715 21:00 jdk-21

在/setup/jdk21创建Dockerfile,内容如下:

[root@localhost ~]# cd /setup/jdk21[root@localhost jdk21]# vi Dockerfile
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-21COPY 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.执行打包

docker build -t dataease .

【注意】如果打包时报连接超时之类,需要修改/etc/docker/daemon.json文件,内容如下:

{ \"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包
第一行dataease就是打包结果
运行docker 包
命令:docker start 容器ID
飞牛系统安装DataEase自定义Docker包
查看容器运行日志
命令:docker log 容器ID
飞牛系统安装DataEase自定义Docker包

上传DataEase Docker包

1.把本地docker 容器导出

1.1查看镜像列表命令:docker images

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

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

飞牛系统安装DataEase自定义Docker包
执行完后,在当前目录下产生dataease.tar文件
飞牛系统安装DataEase自定义Docker包

2.使用飞牛的文件管理上传Docker包

把上面dataease.tar下载到本地windows,然后打开飞牛网站
飞牛系统安装DataEase自定义Docker包
双击打开文件管理
飞牛系统安装DataEase自定义Docker包
走到指定目录,点击上传按钮,选择上传文件,在弹出对话框选择刚才文件,上传即可。

安装1Panel组件

在飞牛系统界面,打开应用中心,找到1Panel图标,点击下图的安装,如下图:
飞牛系统安装DataEase自定义Docker包
飞牛系统安装DataEase自定义Docker包
点击下一步,设置安全入口、用户名、密码
这里安全入口设置为123456
飞牛系统安装DataEase自定义Docker包
飞牛系统安装DataEase自定义Docker包

创建容器

1.进入1Panel,双击桌面1Panel图标

飞牛系统安装DataEase自定义Docker包
飞牛系统安装DataEase自定义Docker包
【注意】如果打不开的网页,则检查是否开放了18090端口

2.导入镜像

2.1.查看文件位置

还记得前面有一步上传DataEase Docker包,走到那个tar文件,右键看详细信息
飞牛系统安装DataEase自定义Docker包
飞牛系统安装DataEase自定义Docker包
在弹出对话框,点击复制原始路径,把复制到写字板,后面使用

2.2 导入镜像

切回到1Panel界面
飞牛系统安装DataEase自定义Docker包
依次点击红框菜单,最后在路径输入框粘贴2.1复制出来的原始路径,点击右下角导入按钮
导入成功,会出现如下图:
飞牛系统安装DataEase自定义Docker包

3.创建容器

切换到容器页签
飞牛系统安装DataEase自定义Docker包
录入容器名称及镜像名称,点击确定。你还可以设置后面的cpu数量,内存数量,映射端口等

启动DataEase Docker

在dataease容器操作栏点击更多,弹出菜单点击启动
飞牛系统安装DataEase自定义Docker包

进入飞牛终端

有时,需要修改配置文件,必须进入终端
在1Panel 左边工具条,点击主机,再点击终端,如下图:
飞牛系统安装DataEase自定义Docker包
它默认连接127.0.0.1,所以连接失败
在主机页签增加主机
飞牛系统安装DataEase自定义Docker包
回到终端页签
飞牛系统安装DataEase自定义Docker包
鼠标移到+号,点击下面的admin@xxx.xxx.xxx.xxx
飞牛系统安装DataEase自定义Docker包

常见问题解决

如果构造容器,或启动容器报错:

1.Pulling Get “https://registry-1.docker.io/v2/”: net/http: request canceled w

这是构建容器时,下载包报错,类似第一步构造DataEase Docker包,修改/etc/docker/daemon.json,内容如下:

{ \"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\" ]}

修改配置文件
飞牛系统安装DataEase自定义Docker包
飞牛系统安装DataEase自定义Docker包
再次执行构造容器操作即可

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
飞牛系统安装DataEase自定义Docker包
把容器配置文件复制出来
sudo docker cp 33fd192410df:/opt/dataease2.0/application-standalone.yml ./fixed-config.yml
飞牛系统安装DataEase自定义Docker包
修改配置文件
sudo vi fixed-config.yml
飞牛系统安装DataEase自定义Docker包
修改完后,覆盖回去
sudo docker cp ./fixed-config.yml 33fd192410df:/opt/dataease2.0/application-standalone.yml
重启docker

最后

这个过程耗费了三天时间。感觉还值得,以前感觉docker挺神秘的。如需沟通:lita2lz