版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013494765/article/details/87812326
datax容器镜像制作
可以将datax镜像自行上传到镜像仓库方便部署。
一、下载datax镜像文件
cd /home/abc
wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
二、编辑 dockerfile文件
创建文件,文件不加扩展名,文件存储路径没有要求:
vi dockerfile
文件内容:
# 使用openjdk的镜像,alpine构建的镜像比较小
FROM openjdk:8-alpine
# 设置维护者
MAINTAINER abc
# 安装python命令
RUN apk add python
# 添加并解压datax文件到/opt/local 目录
ADD datax.tar.gz /opt/local/
# 设置运行的工作目录,可不添加,运行中使用 docker -w 指定
# WORKDIR /opt/local/datax
原理:使用jdk的镜像在其中安装python和datax
alpine镜像本身体积比较小,所以有些指令是执行不了的
如进入容器命令(不能使用 /bin/bash):
docker exec -it datax /bin/sh
三、构建容器
创建容器名称为 datax,版本为 latest
docker build -t datax:latest . -f dataxdockerfile
四、测试datax容器
docker run -it --rm datax python /opt/local/datax/bin/datax.py /opt/local/datax/job/job.json
五、上传容器到阿里云容器仓库
- 登录阿里云Docker Registry
$ sudo docker login --username=** registry.cn-qingdao.aliyuncs.com
- 将镜像推送到Registry
$ sudo docker login --username=** registry.cn-qingdao.aliyuncs.com
$ sudo docker tag [ImageId] registry.cn-qingdao.aliyuncs.com/镜像空间/datax:[镜像版本号]
$ sudo docker push registry.cn-qingdao.aliyuncs.com/镜像空间/datax:[镜像版本号]
- 示例
$ sudo docker tag bc90edc78e** registry.cn-qingdao.aliyuncs.com/镜像空间/datax:latest
$ sudo docker push registry.cn-qingdao.aliyuncs.com/镜像空间/datax:latest
使用"docker tag"命令重命名镜像
下篇文档介绍如何使用脚本运行datax容器
datax使用docker容器执行任务