diff options
Diffstat (limited to 'plugins/docker/_docker')
| -rw-r--r-- | plugins/docker/_docker | 162 | 
1 files changed, 114 insertions, 48 deletions
| diff --git a/plugins/docker/_docker b/plugins/docker/_docker index 12eee7a15..5acd19edf 100644 --- a/plugins/docker/_docker +++ b/plugins/docker/_docker @@ -2,7 +2,8 @@  # Docker autocompletion for oh-my-zsh  # Requires: Docker installed -# Author : Azaan (@aeonazaan) +# Author: Azaan (@aeonazaan) +# Updates: Bob Maerten (@bobmaerten) for Docker v0.9+  # ----- Helper functions @@ -24,21 +25,30 @@ __docker_images() {  # Seperate function for each command, makes extension easier later  # ---------------------------  __attach() { +    _arguments \ +        '--no-stdin[Do not attach stdin]' \ +        '--sig-proxy[Proxify all received signal to the process (even in non-tty mode)]'      __docker_containers  }  __build() {      _arguments \ -        '-q=false[Suppress verbose build output]' \ -        '-t="[fuck to be applied to the resulting image in case of success]' \ +        '--no-cache[Do not use cache when building the image]' \ +        '(-q,--quiet)'{-q,--quiet}'[Suppress the verbose output generated by the containers]' \ +        '--rm[Remove intermediate containers after a successful build]' \ +        '(-t,--tag=)'{-t,--tag=}'[Repository name (and optionally a tag) to be applied to the resulting image in case of success]' \          '*:files:_files'  }  __commit() {      _arguments \ -        '-author="[Author]' \ -        '-m="[Commit message]' \ -        '-run="[Config automatically applied when the image is run.\n]' +        '(-a,--author=)'{-a,--author=}'[Author (eg. "John Hannibal Smith <hannibal@a-team.com>"]' \ +        '(-m,--message=)'{-m,--message=}'[Commit message]' \ +        '--run=[Config automatically applied when the image is run.]' +    __docker_containers +} + +__cp() {      __docker_containers  } @@ -46,21 +56,29 @@ __diff() {      __docker_containers  } +__events() { +    _arguments \ +        '--since=[Show previously created events and then stream.]' +} +  __export() {     __docker_containers  } -  __history() { +    _arguments \ +        '--no-trunc=[Don''t truncate output]' \ +        '(-q,--quiet)'{-q,--quiet}'[Only show numeric IDs]'      __docker_images  }  __images() {      _arguments \ -        '-a[show all images]' \ -        '-notrunc[dont truncate output]' \ -        '-q[only show numeric IDs]' \ -        '-viz[output graph in graphviz format]' +        '(-a,--all)'{-a,--all}'[Show all images (by default filter out the intermediate images used to build)]' \ +        '--no-trunc[Don''t truncate output]' \ +        '(-q,--quiet=)'{-q,--quiet=}'[Only show numeric IDs]' \ +        '(-t,--tree=)'{-t,--tree=}'[Output graph in tree format]' \ +        '(-v,--viz=)'{-v,--viz=}'[Output graph in graphviz format]'      __docker_images  } @@ -86,14 +104,20 @@ __kill() {      __docker_containers  } +__load() { +    _arguments '*:files:_files' +} +  __login() {      _arguments \ -        '-e="[email]' \ -        '-p="[password]' \ -        '-u="[username]' \ +        '(-e,--email=)'{-e,-email=}'[Email]' \ +        '(-p,--password=)'{-p,-password=}'[Password]' \ +        '(-u,--username=)'{-u,-username=}'[Username]'  }  __logs() { +    _arguments \ +        '(-f,--follow)'{-f,-follow}'[Follow log output]'      __docker_containers  } @@ -107,77 +131,107 @@ __top() {  __ps() {      _arguments \ -        '-a[Show all containers. Only running containers are shown by default.]' \ -        '-beforeId="[Show only container created before Id, include non-running ones.]' \ -        '-l[Show only the latest created container, include non-running ones.]' \ -        '-n=[Show n last created containers, include non-running ones.]' \ -        '-notrunc[Dont truncate output]' \ -        '-q[Only display numeric IDs]' \ -        '-s[Display sizes]' \ -        '-sinceId="[Show only containers created since Id, include non-running ones.]' +        '(-a,--all)'{-a,--all}'[Show all containers. Only running containers are shown by default.]' \ +        '--before-id=[Show only container created before Id, include non-running ones.]' \ +        '(-l,--latest)'{-l,--latest}'[Show only the latest created container, include non-running ones.]' \ +        '-n=[Show n last created containers, include non-running ones. default=-1.]' \ +        '--no-trunc[Don''t truncate output]' \ +        '(-q,--quiet)'{-q,--quiet}'[Only display numeric IDs]' \ +        '(-s,--size)'{-s,--size}'[Display sizes]' \ +        '--since-id=[Show only containers created since Id, include non-running ones.]'  }  __pull() { -    _arguments '-t="[Download tagged image in repository]' +    _arguments \ +        '(-t,--tag=)'{-t,--tag=}'[Download tagged image in repository]'  }  __push() { - +    # no arguments  }  __restart() { -    _arguments '-t=[number of seconds to try to stop before killing]' +    _arguments \ +        '(-t,--time=)'{-t,--time=}'[Number of seconds to try to stop for before killing the container. Once killed it will then be restarted. Default=10]'      __docker_containers  }  __rm() { -    _arguments '-v[Remove the volumes associated to the container]' +    _arguments \ +        '(-f,--force=)'{-f,--force=}'[Force removal of running container]' \ +        '(-l,--link=)'{-l,--link=}'[Remove the specified link and not the underlying container]' \ +        '(-v,--volumes=)'{-v,--volumes=}'[Remove the volumes associated to the container]'      __docker_containers  }  __rmi() { +    _arguments \ +        '(-f,--force=)'{-f,--force=}'[Force]' \      __docker_images  }  __run() {      _arguments \ -        '-a=[Attach to stdin, stdout or stderr.]' \ -        '-c=[CPU shares (relative weight)]' \ -        '-d[Detached mode: leave the container running in the background]' \ -        '-dns=[Set custom dns servers]' \ -        '-e=[Set environment variables]' \ -        '-entrypoint="[Overwrite the default entrypoint of the image]' \ -        '-h="[Container host name]' \ -        '-i[Keep stdin open even if not attached]' \ -        '-m=[Memory limit (in bytes)]' \ -        '-p=[Expose a containers port to the host (use docker port to see the actual mapping)]' \ -        '-t[Allocate a pseudo-tty]' \ -        '-u="[Username or UID]' \ -        '-v=[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]' \ -        '-volumes-from="[Mount volumes from the specified container]' +        '(-P,--publish-all=)'{-P,--publish-all=}'[Publish all exposed ports to the host interfaces]' \ +        '(-a,--attach=)'{-a,--attach=}'[Attach to stdin, stdout or stderr.]' \ +        '(-c,--cpu-shares=)'{-c,--cpu-shares=}': CPU shares (relative weight)]' \ +        '--cidfile=[Write the container ID to the file]' \ +        '(-d,--detach=)'{-d,--detach=}'[Detached mode: Run container in the background, print new container id]' \ +        '--dns=[Set custom dns servers]' \ +        '(-e,--env=)'{-e,--env=}'[Set environment variables]' \ +        '--entrypoint=[Overwrite the default entrypoint of the image]' \ +        '--expose=[Expose a port from the container without publishing it to your host]' \ +        '(-h,--hostname=)'{-h,--hostname=}'[Container host name]' \ +        '(-i,--interactive=)'{-i,--interactive=}'[Keep stdin open even if not attached]' \ +        '--link=[Add link to another container (name:alias)]' \ +        '--lxc-conf=[Add custom lxc options -lxc-conf="lxc.cgroup.cpuset.cpus = 0,1"]' \ +        '(-m,--memory=)'{-m,--memory=}'[Memory limit (format: <number><optional unit>, where unit = b, k, m or g)]' \ +        '(-n,--networking=)'{-n,--networking=}'[Enable networking for this container]' \ +        '--name=[Assign a name to the container]' \ +        '(-p,--publish=)'{-p,--publish=}'[Publish a container''s port to the host (format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort) (use "docker port" to see the actual mapping)]' \ +        '--privileged=[Give extended privileges to this container]' \ +        '--rm=[Automatically remove the container when it exits (incompatible with -d)]' \ +        '--sig-proxy=[Proxify all received signal to the process (even in non-tty mode)]' \ +        '(-t,--tty=)'{-t,--tty=}'[Allocate a pseudo-tty]' \ +        '(-u,--user=)'{-u,--user=}'[Username or UID]' \ +        '(-v,--volume=)'{-v,--volume=}'[Bind mount a volume (e.g. from the host: -v /host:/container, from docker: -v /container)]' \ +        '--volumes-from=[Mount volumes from the specified container(s)]' \ +        '(-w,--workdir=)'{-w,--workdir=}'[Working directory inside the container]'      __docker_images  }  __search() { -    _arguments '-notrunc[Dont truncate output]' +    _arguments \ +        '--no-trunc=[Don''t truncate output]' \ +        '-s,--stars=)'{-s,--stars=}'[Only displays with at least xxx stars]' \ +        '-t,--trusted=)'{-t,--trusted=}'[Only show trusted builds]' +} + +__save() { +    __docker_images  }  __start() { +    _arguments \ +        '(-a,--attach=)'{-a,--attach=}'[Attach container''s stdout/stderr and forward all signals to the process]' \ +        '(-i,--interactive=)'{-i, --interactive=}'[Attach container''s stdin]'      __docker_containers  }  __stop() { -    _arguments '-t=[number of seconds to try to stop before killing]' +    _arguments \ +        '(-t,--time=)'{-t,--time=}'[Number of seconds to wait for the container to stop before killing it.]'      __docker_containers  }  __tag() { -    _arguments '-f[Force]' +    _arguments \ +        '(-f,--force=)'{-f,--force=}'[Force]'      __docker_images  }  __version() { - +    # no arguments  }  __wait() { @@ -192,7 +246,9 @@ _1st_arguments=(      "attach":"Attach to a running container"      "build":"Build a container from a Dockerfile"      "commit":"Create a new image from a container's changes" +    "cp":"Copy files/folders from the containers 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" @@ -201,10 +257,10 @@ _1st_arguments=(      "insert":"Insert a file in an image"      "inspect":"Return low-level information on a container"      "kill":"Kill a running container" +    "load":"Load an image from a tar archive"      "login":"Register or Login to the docker registry server"      "logs":"Fetch the logs of a container"      "port":"Lookup the public-facing port which is NAT-ed to PRIVATE_PORT" -    "top":"Lookup the running processes of a container"      "ps":"List containers"      "pull":"Pull an image or a repository from the docker registry server"      "push":"Push an image or a repository to the docker registry server" @@ -212,10 +268,12 @@ _1st_arguments=(      "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 in the docker index"      "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"      "version":"Show the docker version information"      "wait":"Block until a container stops, then print its exit code"  ) @@ -230,13 +288,17 @@ fi  local -a _command_args  case "$words[1]" in      attach) -       __docker_containers ;; +       __attach ;;      build)          __build ;;      commit)          __commit ;; +    cp) +        __cp ;;      diff)          __diff ;; +    events) +        __events ;;      export)          __export ;;      history) @@ -253,14 +315,14 @@ case "$words[1]" in          __inspect ;;      kill)          __kill ;; +    load) +        __load ;;      login)          __login ;;      logs)          __logs ;;      port)          __port ;; -    top) -        __top ;;      ps)          __ps ;;      pull) @@ -275,6 +337,8 @@ case "$words[1]" in          __rmi ;;      run)          __run ;; +    save) +        __save ;;      search)          __search ;;      start) @@ -283,6 +347,8 @@ case "$words[1]" in          __stop ;;      tag)          __tag ;; +    top) +        __top ;;      version)          __version ;;      wait) | 
