여러 과제를 차례로 제출

여러 과제를 차례로 제출

연속으로 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

명령을 병렬로 실행하려면 &명령 끝에 를 추가 하면 됩니다 docker.

관련 정보