閱讀936 返回首頁    go 小米


本地調試__Docker_操作指南_批量計算-阿裏雲

如果你想要使用Docker鏡像本地調試一下程序, 可以根據本節內容操作,如果不需要本地調試,請跳過本節。

1. 任務程序可以使用的變量說明

在 BatchCompute 中,運行在 docker 容器中的環境和不使用 docker 容器時的環境變量稍微不同, 具體請看環境變量

2. 本地測試命令

在製作完成 docker 鏡像後,您可以使用如下的命令進行本地測試。

  1. docker run -it -v /home/local_folder:/batchcompute/workdir
  2. -e BATCH_COMPUTE_DAG_INSTANCE_ID=<your_instance_id>
  3. -e BATCH_COMPUTE_DAG_TASK_ID=<your_task_name>
  4. -e BATCH_COMPUTE_DAG_JOB_ID=job-0000000000
  5. -e BATCH_COMPUTE_OSS_HOST=<your_oss_host>
  6. your_docker_image_name your_command

其中

  1. -v /home/local_folder:/batchcompute/workdir 表示掛載本地/home/local_folder目錄到 docker容器鏡像中的 /batchcompute/workdir 目錄
  2. -e key=value 表示指定環境變量
  3. your_task_name 作業中 task 的名稱
  4. your_job_name: 作業的名稱
  5. your_instance_id: 任務實例ID,從0開始遞增的整數, 如這個任務你要啟動3個實例來運行,則id分別為0,1,2
  6. your_oss_host: OSS主機名(域名,應包含region信息,且不帶"https://"前綴)
  7. your_docker_image_name: 您製作的 docker 鏡像名稱,如 myubuntu
  8. your_command:命令行及參數

舉例:

假設您的本地程序路徑: /home/admin/log-count/

  1. 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。

最後更新:2016-11-23 16:04:15

  上一篇:go 提交作業例子__Docker_操作指南_批量計算-阿裏雲
  下一篇:go Docker鏡像製作__Docker_操作指南_批量計算-阿裏雲