Docker run bash script, then remove container
If the script is not available inside the container, you need to mount the script as a volume inside the container:
$ cat << EOF > sample_script.sh
echo 'Hello, world'
EOF
Run the docker container as follows (here, /path/to/sample_script.sh
is the path in the host):
$ docker run -v /path/to/sample_script.sh:/sample_script.sh \
--rm ubuntu bash sample_script.sh
Hello, world
The container will be removed after execution. Note you don't need to run it interactively, standard output will be displayed.
The docker run reference has the details about using volumes in this way.
If all you want to do is execute a script you could just use bash to read the script from stdin.
sample_script.sh < docker run --rm -i ubuntu bash -c 'source /dev/stdin'