How to show the run command of a docker container
Use docker inspect:
$ docker inspect foo/bar
[
{
# …
"Config": {
# …
"Cmd": [
"/usr/local/bin/script.sh"
],
# …
}
}
]
You can programatically parse this with jq:
$ docker inspect foo/bar | jq -r '.[0]["Config"]["Cmd"][0]'
/usr/local/bin/script.sh
So how to reverse engineering docker run command?
There is a github repository which try to reverse engineering docker run command, but it is not perfect currently, version is 0.1.2
. You should follow it for updating. Maybe one day you can use it to get correct run command with it.
$ sudo pip install runlike
# run the ubuntu image
$ docker run -ti ubuntu bash
$ docker ps -a
# suppose you get the container ID 1dfff2ba0226
# Run runlike to get the docker run command.
$ runlike 1dfff2ba0226
docker run --name=elated_cray -t ubuntu bash
Github repository: runlike
Updates:
Run without installing (Thanks @tilo)
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro \
assaflavie/runlike YOUR-CONTAINER
or set alias and put it in your shell's profile
alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro assaflavie/runlike"
docker ps
runlike YOUR-CONTAINER