Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separation of concerns in CLI #8594

errordeveloper opened this Issue Oct 15, 2014 · 5 comments


None yet
6 participants
Copy link

commented Oct 15, 2014

Current state

    attach    Attach to a running container
    build     Build an image from a Dockerfile
    commit    Create a new image from a container's changes
    cp        Copy files/folders from a container's filesystem to the host path
    diff      Inspect changes on a container's filesystem
    events    Get real time events from the server
    export    Stream the contents of a container as a tar archive
    history   Show the history of an image
    images    List images
    import    Create a new filesystem image from the contents of a tarball
    info      Display system-wide information
    inspect   Return low-level information on a container
    kill      Kill a running container
    load      Load an image from a tar archive
    login     Register or log in to a Docker registry server
    logout    Log out from a Docker registry server
    logs      Fetch the logs of a container
    port      Lookup the public-facing port that is NAT-ed to PRIVATE_PORT
    pause     Pause all processes within a container
    ps        List containers
    pull      Pull an image or a repository from a Docker registry server
    push      Push an image or a repository to a Docker registry server
    restart   Restart a running container
    rm        Remove one or more containers
    rmi       Remove one or more images
    run       Run a command in a new container
    save      Save an image to a tar archive
    search    Search for an image on the Docker Hub
    start     Start a stopped container
    stop      Stop a running container
    tag       Tag an image into a repository
    top       Lookup the running processes of a container
    unpause   Unpause a paused container
    version   Show the Docker version information
    wait      Block until a container stops, then print its exit code


As the number of sub-commands grow, it's would great to introduce some separation of concerns here. I didn't attempt to redesign the entire thing, this only a starting point for the discussion with the current set of sub-commands being bucketed in a sensible way.

Separating these in the docker help output would be a start, but I'd rather wish to see something that eventually follows UNIX philosophy a little closer. I'm sure many will agree with me.

Container state management

  • wait
  • unpause
  • start
  • stop
  • save
  • ps
  • kill
  • run

Basic container image data management

  • save
  • load
  • rm

Container inspection tools

  • top
  • diff
  • logs
  • inspect
  • port

Local image management

  • export
  • import
  • images
  • history
  • rmi

Registry interaction

  • commit
  • push
  • pull
  • login
  • logout

This comment has been minimized.

Copy link

commented Oct 19, 2014

This imho is quite reasonable suggestion 👍 It would remove quite a lot of accidental command runs - at least in my case :-)

Apart from that, proliferation of command line option already available in main docker client is getting slightly ludicrous. This would at least nicely organize them into related command groups.


This comment has been minimized.

Copy link

commented Oct 19, 2014

👍 that should help on those occasions when I'm unsure if it's save or export.


This comment has been minimized.

Copy link

commented Oct 31, 2014

Related: we're splitting out a bunch of things into subcommands #8829


This comment has been minimized.

Copy link

commented Oct 31, 2014

Hm, looks like this issue is duplicated by #8756 and the active discussion is going on there.

Should this be closed to keep the discussion in a single place (even though this issue was frist)?


This comment has been minimized.

Copy link

commented Nov 3, 2014

yes, it is reasonable - though I do like #8829 too :)

closing in favour of #8756

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.