Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I pass arguments to a docker container with a python entry-point script using command?

Tags:

python

docker

So I've got a docker image with a python script as the entry-point and I would like to pass arguments to the python script when the container is run. I've tried to get the arguments using sys.argv and sys.stdin, but neither has worked. I'm trying to run the container using:

docker run image argument
like image 521
dporter Avatar asked Jul 20 '15 18:07

dporter


Video Answer


1 Answers

It depends how the entrypoint was set up. If it was set up in "exec form" then you simply pass the arguments after the docker run command, like this:

docker run image -a -b -c

If it was set up in "shell form" then you have to override the entrypoint, unfortunately.

$ docker run --entrypoint echo image hi
hi

You can check the form using docker inspect. If the entrypoint appears to begin with /bin/sh -c, then it is shell form.

References:

  • http://docs.docker.com/engine/reference/run/#entrypoint-default-command-to-execute-at-runtime
  • http://docs.docker.com/engine/reference/builder/#entrypoint
like image 85
kojiro Avatar answered Oct 10 '22 00:10

kojiro