如果希望使用 Docker 鏡像進行本地調試, 可以根據本節內容操作。
1. 任務程序可以使用的變量說明
在 BatchCompute 中,運行在 docker 容器中的環境和不使用 docker 容器時的環境變量稍微不同, 具體請看 環境變量 。
2. 本地測試命令
在制作完成 docker 鏡像后,您可以使用如下的命令進行本地測試。
docker run -it -v /home/local_folder:/batchcompute/workdir
-e BATCH_COMPUTE_DAG_INSTANCE_ID=<your_instance_id>
-e BATCH_COMPUTE_DAG_TASK_ID=<your_task_name>
-e BATCH_COMPUTE_DAG_JOB_ID=job-0000000000
-e BATCH_COMPUTE_OSS_HOST=<your_oss_host>
your_docker_image_name your_command
參數解釋:
-v /home/local_folder:/batchcompute/workdir 表示掛載本地 /home/local_folder 目錄到 docker 容器鏡像中的 /batchcompute/workdir 目錄
-e key=value 表示指定環境變量
your_task_name 作業中 task 的名稱
your_job_name: 作業的名稱
your_instance_id: 任務實例 ID,從 0 開始遞增的整數, 如這個任務你要啟動 3 個實例來運行,則 id 分別為 0,1,2
your_oss_host: OSS 主機名(域名,應包含 region 信息,且不帶 "http://" 前綴)
your_docker_image_name: 制作的 docker 鏡像名稱,如 myubuntu
your_command:命令行及參數
例如,本地程序路徑為: /home/admin/log-count/
docker run -it -v /home/admin/log-count/:/batchcompute/workdir -e BATCH_COMPUTE_INSTANCE_ID=0 -e BATCH_COMPUTE_TASK_ID=split -e BATCH_COMPUTE_JOB_ID=job-0000000000 -e BATCH_COMPUTE_OSS_HOST=oss-cn-shenzhen.aliyuncs.com myubuntu python /batchcompute/workdir/split.py
這個命令是在本地運行 myubuntu 對應 docker 鏡像,將本地目錄 /home/admin/log-count/ 掛載到 docker 鏡像的 /batchcompute/workdir/目錄,并在這個鏡像里運行 python /batchcompute/workdir/split.py
命令。
注意:
- 路徑 /home/admin/log-count/ 是程序所在目錄, 目錄中應當有 split.py。
- BATCH_COMPUTE_INSTANCE_ID 從 0 開始,假如你配置該任務啟動 3 個實例,則 BATCH_COMPUTE_INSTANCE_ID 分別為0,1,2。
文檔內容是否對您有幫助?