依次提交多个作业

依次提交多个作业

我必须接连提交5份工作。

这是我的命令 -

INPUT - 1000 1001 1002 1003 1004

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-year {INPUT} 

我基本上需要为每个输入运行 docker 命令 -

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1000 ||

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1001 ||

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1002 ||

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1003 ||

docker run -d --net ${NETWORK} ${IMAGE}:${TAG} populate_data --for-data 1004

以上是我的解决方案,正在思考是否有更好的办法。

答案1

Bodo 在评论中建议的命令运行 5 个命令,一个接一个:

for INPUT in 1000 1001 1002 1003 1004; do docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year "${INPUT}"; done

或者,展开:

for INPUT in 1000 1001 1002 1003 1004
do 
  docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year "${INPUT}"
done

当然,这假设您已经为 、 和 设定了合理的$NETWORK$IMAGE$TAG

上面的循环将按顺序运行这些命令:

docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1000
docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1001
docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1002
docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1003
docker run -d --net "${NETWORK}" "${IMAGE}":"${TAG}" populate_data --for-year 1004

如果您想并行运行命令,可以&在命令末尾添加 a docker

相关内容