Difference between docker run and docker container run

Docker

Docker Problem Overview


Can anyone help me in the understanding difference between docker run & docker container run?

when i do docker run --help & docker container run --help from docker cmd line. I see the following

Run a command in a new container.

Is there any difference in how they run the container internally or both are same doing same work?

As per https://forums.docker.com/t/docker-run-and-docker-container-run/30526. docker run is still the old one, which will be deprecated soon but same is not confirmed.

Docker Solutions


Solution 1 - Docker

They are exactly the same.

Prior to docker 1.13 the docker run command was only available. The CLI commands were then refactored to have the form docker COMMAND SUBCOMMAND, wherein this case the COMMAND is container and the SUBCOMMAND is run. This was done to have a more intuitive grouping of commands since the number of commands at the time has grown substantially.

You can read more under CLI restructured.

Solution 2 - Docker

> docker run no, we aren't even hiding it, it's staying as a permanent alias. > > The rest, not any time soon. Maybe in a year or two if we're good about converting all > the docs to the new form, and communicating the new canonical way of doing things.

So, they are exactly same, just format changed, see discusstion about this PR: https://github.com/moby/moby/pull/26025

Solution 3 - Docker

Maybe a bit late, but wanted to share a wider & cleaner image from The docker Handbook about the question:

Previously [...] the generic syntax for this command is as follows:

docker run <image name>

Although this is a perfectly valid command, there is a better way of dispatching commands to the docker daemon.

Prior to version 1.13, Docker had only the previously mentioned command syntax. Later on, the command-line was restructured to have the following syntax:

docker <object> <command> <options>

In this syntax:

> - <object> indicates the type of Docker object you'll be manipulating. This can be a container, image, network or volume object. > - <command> indicates the task to be carried out by the daemon, that is the run command. > - <options> can be any valid parameter that can override the default behavior of the command, like the --publish option for port mapping.

Thus,

docker container run :

  1. container is the object
  2. run is the command to be executed by Docker Daemon.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionadithyaView Question on Stackoverflow
Solution 1 - DockeryamenkView Answer on Stackoverflow
Solution 2 - DockeratlineView Answer on Stackoverflow
Solution 3 - DockerSeleMView Answer on Stackoverflow