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