dolphinscheduler docker容器

简介

dolphinscheduler是一个开源的调度平台,经常用于数仓的ETL场景中,查看官方的源码发现dolphinscheduler已经开始准备docker容器了,但是到docker.hub网站上去看,确找不到官方一个打包好的镜像,笔者根据自己需要打包了一个dolphinscheduler容器镜像,本文讲解如何使用。

本机部署ds

准备数据库

  • 准备好mysql,新建一个mysql库 使用utf8编码

  • 使用脚本初始化库

启动zk和ds容器

# 获取本机的ip地址,其中en0 是本机的网卡
ip=$(ifconfig en0  | grep 'inet ' |awk '{print $2}')

# 运行zookeeper 
docker run --name some-zookeeper -p 2181:2181 --restart always -d qiujiahong/zookeeper:3.6.2

# 运行dolphinscheduler 
docker run --name dolphinscheduler \
-e DATABASE_TYPE="mysql"  -e DATABASE_DRIVER="com.mysql.jdbc.Driver" \
-e DATABASE_HOST="${ip}" -e DATABASE_PORT="3306" -e DATABASE_DATABASE="ds" \
-e DATABASE_USERNAME="root" -e DATABASE_PASSWORD="123456" \
-e ZOOKEEPER_QUORUM="${ip}:2181" \
-p 8888:8888  -d \
-m 5g --cpus=3  \
qiujiahong/dolphinscheduler:1.3.5-SNAPSHOT all

容器打包

笔者forked了ds的代码,做了一些改动,其中相关的脚本和代码可以在笔者的仓库内找到(使用分支1.3.4-release)
https://github.com/qiujiahong/incubator-dolphinscheduler/tree/1.3.4-release

重新打包的步骤如下:

  • 打包基础镜像 ,qiujiahong/base-dolphinscheduler:latest,该镜像安装了一些基础软件为后续多次打包镜像节省时间
# http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz 
# 需提前下载datax.tar.gz文件
sh docker/build-base/hooks/build
  • 打包镜像,qiujiahong/dolphinscheduler:1.3.5-SNAPSHOT
sh docker/build/hooks/build

你可能感兴趣的:(dolphinscheduler docker容器)