이 스크립트의 작동 방식:
#!/bin/bash
for i in {1..10}
do echo “yes $i”
done
그러나 여러 Docker 컨테이너를 시작하려고 하면 첫 번째 컨테이너만 시작하고 종료됩니다.
docker_run.sh
#!/bin/bash
for i in {1..10}
do exec docker run —name docker-nginx$i -P -d nginx
sleep 3
done
sleep 3
시간을 주기 위해 추가되었습니다 . 이것이 중요한지 확실하지 않습니다. 물론 스크립트를 sudo
실행하려면 권한이 있어야 합니다.
답변1
많은 Docker 머신을 실행하려면 스크립트는 다음과 같아야 합니다.
#!/bin/bash
for i in {1..10}
do docker run —name docker-nginx$i -P -d nginx
sleep 3
done
exec
이 경우에는 사용하면 안 됩니다.exec
바꾸다현재 프로세스(스크립트) 및 해당 인수( )를 실행하여 생성된 프로세스입니다 docker ...
. 이것이 바로 스크립트가 첫 번째 반복을 통과하지 못하는 이유입니다.