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容器執行任務