The arrangement of flags in your docker command matters!

In the official document of docker, commands are presented in the format of:

docker container run [OPTIONS] IMAGE [COMMAND] [ARG...]

And the arrangement stated above must be followed, or else many kind of weird errors will occur.

Let's say you are trying to run a docker container interactively:

docker run {image} -it --entrypoint=sh -d

Guess what happens? Instead of running the image, it will instead show the following error:

getopt: invalid option -- 'i'

getopt: invalid option -- 't'

getopt: unrecognized option '--entrypoint=sh'

getopt: invalid option -- 'd'

This is because in the docker documentation, it specifically says to put the [options] - the flags such as -i, -t, or -d, right before IMAGE. Therefore, if we were to switch the position, we will be able to get the result we need. For example:

docker run -it --entrypoint=sh -d {image}

This should run the docker container in the background, while enable interactivity to our container.

Comments

Popular posts from this blog

Support for the experimental syntax 'decorators' isn't currently enabled (5:3):

How to add environment variables into Heroku container

Running CQL scripts in Cassandra