diff --git a/plugins/docker/README.md b/plugins/docker/README.md index 8619125a2..58d681f13 100644 --- a/plugins/docker/README.md +++ b/plugins/docker/README.md @@ -41,41 +41,62 @@ zstyle ':omz:plugins:docker' legacy-completion yes ## Aliases -| Alias | Command | Description | -| :------ | :---------------------------- | :--------------------------------------------------------------------------------------- | -| dbl | `docker build` | Build an image from a Dockerfile | -| dcin | `docker container inspect` | Display detailed information on one or more containers | -| dcls | `docker container ls` | List all the running docker containers | -| dclsa | `docker container ls -a` | List all running and stopped containers | -| dib | `docker image build` | Build an image from a Dockerfile (same as docker build) | -| dii | `docker image inspect` | Display detailed information on one or more images | -| dils | `docker image ls` | List docker images | -| dipu | `docker image push` | Push an image or repository to a remote registry | -| dipru | `docker image prune -a` | Remove all images not referenced by any container | -| dirm | `docker image rm` | Remove one or more images | -| dit | `docker image tag` | Add a name and tag to a particular image | -| dlo | `docker container logs` | Fetch the logs of a docker container | -| dnc | `docker network create` | Create a new network | -| dncn | `docker network connect` | Connect a container to a network | -| dndcn | `docker network disconnect` | Disconnect a container from a network | -| dni | `docker network inspect` | Return information about one or more networks | -| dnls | `docker network ls` | List all networks the engine daemon knows about, including those spanning multiple hosts | -| dnrm | `docker network rm` | Remove one or more networks | -| dpo | `docker container port` | List port mappings or a specific mapping for the container | -| dps | `docker ps` | List all the running docker containers | -| dpsa | `docker ps -a` | List all running and stopped containers | -| dpu | `docker pull` | Pull an image or a repository from a registry | -| dr | `docker container run` | Create a new container and start it using the specified command | -| drit | `docker container run -it` | Create a new container and start it in an interactive shell | -| drm | `docker container rm` | Remove the specified container(s) | -| drm! | `docker container rm -f` | Force the removal of a running container (uses SIGKILL) | -| dst | `docker container start` | Start one or more stopped containers | -| drs | `docker container restart` | Restart one or more containers | -| dsta | `docker stop $(docker ps -q)` | Stop all running containers | -| dstp | `docker container stop` | Stop one or more running containers | -| dtop | `docker top` | Display the running processes of a container | -| dvi | `docker volume inspect` | Display detailed information about one or more volumes | -| dvls | `docker volume ls` | List all the volumes known to docker | -| dvprune | `docker volume prune` | Cleanup dangling volumes | -| dxc | `docker container exec` | Run a new command in a running container | -| dxcit | `docker container exec -it` | Run a new command in a running container in an interactive shell | +| Alias | Command | Description | +| :------- | :---------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | +| dbl | `docker build` | Build an image from a Dockerfile | +| dcin | `docker container inspect` | Display detailed information on one or more containers | +| dcls | `docker container ls` | List all the running docker containers | +| dclsa | `docker container ls -a` | List all running and stopped containers | +| dib | `docker image build` | Build an image from a Dockerfile (same as docker build) | +| dii | `docker image inspect` | Display detailed information on one or more images | +| dils | `docker image ls` | List docker images | +| dipu | `docker image push` | Push an image or repository to a remote registry | +| dipru | `docker image prune -a` | Remove all images not referenced by any container | +| dirm | `docker image rm` | Remove one or more images | +| dit | `docker image tag` | Add a name and tag to a particular image | +| dkil | `docker kill` | Kill one or more running containers | +| dlo | `docker container logs` | Fetch the logs of a docker container | +| dlof | `docker container logs --follow` | Fetch and follow the logs of a docker container | +| dnc | `docker network create` | Create a new network | +| dncn | `docker network connect` | Connect a container to a network | +| dndcn | `docker network disconnect` | Disconnect a container from a network | +| dni | `docker network inspect` | Return information about one or more networks | +| dnls | `docker network ls` | List all networks the engine daemon knows about, including those spanning multiple hosts | +| dnrm | `docker network rm` | Remove one or more networks | +| dpo | `docker container port` | List port mappings or a specific mapping for the container | +| dpu | `docker pull` | Pull an image or a repository from a registry | +| dpsh | `docker push` | Upload an image to a registry | +| dpsa | `docker ps -a` | List all running and stopped containers | +| dritrm | `docker container run --rm -it` | Create a new container, start it in an interactive shell and automatically remove it | +| dr | `docker container run` | Create a new container and start it using the specified command | +| drit | `docker container run -it` | Create a new container and start it in an interactive shell | +| dritbash | `docker run -it --entrypoint /bin/bash` | Create a new container and start it in an interactive mode with Bash | +| dritp | `docker container run -it -v $PWD:/pwd -w /pwd` | Create a new container and start it in an interactive mode, mounting current directory as `/pwd` | +| dritprm | `docker container run --rm -it -v $PWD:/pwd -w /pwd` | Create a new container and start it in an interactive mode with auto-removal, mounting current directory as `/pwd` | +| dritsh | `docker run -it --entrypoint /bin/sh` | Create a new container and start it in an interactive mode with shell | +| dritshp | `docker run -it --entrypoint /bin/sh -v $PWD:/pwd -w /pwd` | Create a new container and start it in an interactive mode with shell, mounting current directory as `/pwd` | +| drm | `docker container rm` | Remove the specified container(s) | +| drm! | `docker container rm -f` | Force the removal of a running container (uses SIGKILL) | +| drma! | `docker container ls -a -q \| xargs docker container rm -f` | Force the removal all containers | +| drp | `docker container run -v $PWD:/pwd -w /pwd` | Run a container with the current directory mounted as `/pwd` | +| dst | `docker container start` | Start one or more stopped containers | +| drs | `docker container restart` | Restart one or more containers | +| dsta | `docker stop $(docker ps -q)` | Stop all running containers | +| dstat | `docker container stats` | Display a live stream of containers resource usage statistics | +| dstp | `docker container stop` | Stop one or more running containers | +| dtop | `docker top` | Display the running processes of a container | +| dvi | `docker volume inspect` | Display detailed information about one or more volumes | +| dvls | `docker volume ls` | List all the volumes known to docker | +| dvrm | `docker volume rm` | Remove one or more volumes | +| dcprune | `docker container prune` | Cleanup dangling containers | +| diprune | `docker image prune` | Cleanup dangling images | +| dvprune | `docker volume prune` | Cleanup dangling volumes | +| dxc | `docker container exec` | Run a new command in a running container | +| dxcit | `docker container exec -it` | Run a new command in a running container in an interactive shell | + +## Custom functions (pseudo-aliases) + +| Name | Function | Description | +| :------- | :---------------------------------------------- | :---------------------------------------------------------------------- | +| dxcsh | `dxcsh() { docker exec -it "$@" /bin/sh }` | Run a interactive shell inside a running docker container | +| dxcbash | `dxcbash() { docker exec -it "$@" /bin/bash }` | Run a interactive bash inside a running docker container | diff --git a/plugins/docker/docker.plugin.zsh b/plugins/docker/docker.plugin.zsh index 16db77df6..374a0a18b 100644 --- a/plugins/docker/docker.plugin.zsh +++ b/plugins/docker/docker.plugin.zsh @@ -9,7 +9,9 @@ alias dipu='docker image push' alias dipru='docker image prune -a' alias dirm='docker image rm' alias dit='docker image tag' +alias dkil='docker kill' alias dlo='docker container logs' +alias dlof='docker container logs --follow' alias dnc='docker network create' alias dncn='docker network connect' alias dndcn='docker network disconnect' @@ -20,21 +22,37 @@ alias dpo='docker container port' alias dps='docker ps' alias dpsa='docker ps -a' alias dpu='docker pull' +alias dpsh='docker push' alias dr='docker container run' alias drit='docker container run -it' +alias dritbash='docker run -it --entrypoint /bin/bash' +alias dritp='docker container run -it -v $PWD:/pwd -w /pwd' +alias dritprm='docker container run --rm -it -v $PWD:/pwd -w /pwd' +alias dritsh='docker run -it --entrypoint /bin/sh' +alias dritshp='docker run -it --entrypoint /bin/sh -v $PWD:/pwd -w /pwd' +alias dritrm='docker container run --rm -it' alias drm='docker container rm' alias 'drm!'='docker container rm -f' +alias 'drma!'='docker container ls -a -q | xargs docker container rm -f' +alias drp='docker container run -v $PWD:/pwd -w /pwd' alias dst='docker container start' alias drs='docker container restart' alias dsta='docker stop $(docker ps -q)' +alias dstat='docker container stats' alias dstp='docker container stop' alias dtop='docker top' alias dvi='docker volume inspect' alias dvls='docker volume ls' +alias dcprune='docker container prune' +alias diprune='docker image prune' +alias dvrm='docker volume rm' alias dvprune='docker volume prune' alias dxc='docker container exec' alias dxcit='docker container exec -it' +dxcsh() { docker exec -it "$@" /bin/sh } +dxcbash() { docker exec -it "$@" /bin/bash } + if (( ! $+commands[docker] )); then return fi