Bash script to start Docker containers
Clash Royale CLAN TAG#URR8PPP
This script works:
#!/bin/bash
for i in 1..10
do echo “yes $i”
done
But when attempting to start several Docker containers it only starts the first container and exits:
docker_run.sh
#!/bin/bash
for i in 1..10
do exec docker run —name docker-nginx$i -P -d nginx
sleep 3
done
The sleep 3
was added to give it time. Not sure if it matters. Of course the script has to run with sudo
permissions.
linux bash docker
add a comment |
This script works:
#!/bin/bash
for i in 1..10
do echo “yes $i”
done
But when attempting to start several Docker containers it only starts the first container and exits:
docker_run.sh
#!/bin/bash
for i in 1..10
do exec docker run —name docker-nginx$i -P -d nginx
sleep 3
done
The sleep 3
was added to give it time. Not sure if it matters. Of course the script has to run with sudo
permissions.
linux bash docker
2
Why do you useexec
command? Try to do it running directlydocker
– Romeo Ninov
Feb 14 at 19:33
1
Yeah that was it. Thanks.
– justinnoor.io
Feb 14 at 19:44
add a comment |
This script works:
#!/bin/bash
for i in 1..10
do echo “yes $i”
done
But when attempting to start several Docker containers it only starts the first container and exits:
docker_run.sh
#!/bin/bash
for i in 1..10
do exec docker run —name docker-nginx$i -P -d nginx
sleep 3
done
The sleep 3
was added to give it time. Not sure if it matters. Of course the script has to run with sudo
permissions.
linux bash docker
This script works:
#!/bin/bash
for i in 1..10
do echo “yes $i”
done
But when attempting to start several Docker containers it only starts the first container and exits:
docker_run.sh
#!/bin/bash
for i in 1..10
do exec docker run —name docker-nginx$i -P -d nginx
sleep 3
done
The sleep 3
was added to give it time. Not sure if it matters. Of course the script has to run with sudo
permissions.
linux bash docker
linux bash docker
edited Feb 14 at 19:33
Rui F Ribeiro
41.4k1481140
41.4k1481140
asked Feb 14 at 19:26
justinnoor.iojustinnoor.io
367319
367319
2
Why do you useexec
command? Try to do it running directlydocker
– Romeo Ninov
Feb 14 at 19:33
1
Yeah that was it. Thanks.
– justinnoor.io
Feb 14 at 19:44
add a comment |
2
Why do you useexec
command? Try to do it running directlydocker
– Romeo Ninov
Feb 14 at 19:33
1
Yeah that was it. Thanks.
– justinnoor.io
Feb 14 at 19:44
2
2
Why do you use
exec
command? Try to do it running directly docker
– Romeo Ninov
Feb 14 at 19:33
Why do you use
exec
command? Try to do it running directly docker
– Romeo Ninov
Feb 14 at 19:33
1
1
Yeah that was it. Thanks.
– justinnoor.io
Feb 14 at 19:44
Yeah that was it. Thanks.
– justinnoor.io
Feb 14 at 19:44
add a comment |
1 Answer
1
active
oldest
votes
To run many docker machines your script should be like this:
#!/bin/bash
for i in 1..10
do docker run —name docker-nginx$i -P -d nginx
sleep 3
done
You should not use exec
in this case as exec
replaces the current process (your script) with the process resulting from executing its arguments (docker ...
). This is why your script never gets past the first iteration.
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f500695%2fbash-script-to-start-docker-containers%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
To run many docker machines your script should be like this:
#!/bin/bash
for i in 1..10
do docker run —name docker-nginx$i -P -d nginx
sleep 3
done
You should not use exec
in this case as exec
replaces the current process (your script) with the process resulting from executing its arguments (docker ...
). This is why your script never gets past the first iteration.
add a comment |
To run many docker machines your script should be like this:
#!/bin/bash
for i in 1..10
do docker run —name docker-nginx$i -P -d nginx
sleep 3
done
You should not use exec
in this case as exec
replaces the current process (your script) with the process resulting from executing its arguments (docker ...
). This is why your script never gets past the first iteration.
add a comment |
To run many docker machines your script should be like this:
#!/bin/bash
for i in 1..10
do docker run —name docker-nginx$i -P -d nginx
sleep 3
done
You should not use exec
in this case as exec
replaces the current process (your script) with the process resulting from executing its arguments (docker ...
). This is why your script never gets past the first iteration.
To run many docker machines your script should be like this:
#!/bin/bash
for i in 1..10
do docker run —name docker-nginx$i -P -d nginx
sleep 3
done
You should not use exec
in this case as exec
replaces the current process (your script) with the process resulting from executing its arguments (docker ...
). This is why your script never gets past the first iteration.
edited Feb 14 at 20:12
Kusalananda
135k17255418
135k17255418
answered Feb 14 at 19:48
Romeo NinovRomeo Ninov
6,58632028
6,58632028
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f500695%2fbash-script-to-start-docker-containers%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Why do you use
exec
command? Try to do it running directlydocker
– Romeo Ninov
Feb 14 at 19:33
1
Yeah that was it. Thanks.
– justinnoor.io
Feb 14 at 19:44