bash - Cannot exit from Docker container -


i've got container run as

docker run -it --rm --name <container_name> <image>:<tag> 

normally, fall container terminal can exit exit command. now, have dockerfile ends entrypoint runs simple bash script:

#!/usr/bin/env bash  # add new user groupadd -r $group --gid $groupid useradd -r $user --uid $userid --gid $groupid  # launch application new user su - -c "python <path_to_script>/myscript.py" $user 

now, once script ends, expected exit container in entrypoint bash script ran again , again (say 10 times).

why container have behavior ?

su manpage says:

-, -l, --login
provide environment similar user expect had user logged in directly

it spawns shell exit comeback parent container shell.

so changing

su - -c "python <path_to_script>/myscript.py" $user 

to

su "$user" -c "python <path_to_script>/myscript.py"  

might solution


sidenote : - -c doesn't make sense when objective execute commands , finish job


Comments

Popular posts from this blog

javascript - Slick Slider width recalculation -

jsf - PrimeFaces Datatable - What is f:facet actually doing? -

angular2 services - Angular 2 RC 4 Http post not firing -