I want to setup some configuration when my container starts, for this I am using shell scripts. But my container will exits as soon as my scripts ends, I have tried with -d flag / detached mode but It will never run in detached mode.

Below is my Dockerfile

```
FROM ubuntu:14.04

ADD shell.sh /usr/local/bin/shell.sh

RUN chmod 777 /usr/local/bin/shell.sh

CMD /usr/local/bin/shell.sh

```

Below is my shell script

```
#!/bin/bash
echo Hello-docker

```

1. Run without any flag

```
docker run hello-docker

```

This will print 'Hello-docker' on my console and exits
2. Run with -itd flags

```
docker run -itd hello-docker

```

and as below my console output, This time also will exits soon. **:(**
[![enter image description here](https://i.stack.imgur.com/gXaRd.png)](https://i.stack.imgur.com/gXaRd.png)

	* The difference I saw is in COMMAND section when I run other images command section will shows "/bin/bash" and will continue in detached mode.
	* And when I run my image in container with shell script COMMAND section will show "/bin/sh -c /usr/loca", and Exit.
	* I want to run container till I not stop it manually.

EDIT:

After adding ENTRYPOINT instruction in Dockerfile, this will not execute my shell script :(

```
FROM ubuntu:14.04

ADD shell.sh /usr/local/bin/shell.sh

RUN chmod 777 /usr/local/bin/shell.sh

CMD /usr/local/bin/shell.sh

ENTRYPOINT /bin/bash

```

As per docker documentation [here](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact)

CMD will be overridden when running the container with alternative arguments, so If I run docker image with some arguments as below, will not execute CMD instructions. :(

```
sudo docker run -it --entrypoint=/bin/bash <imagename>

```