oh-my-zsh docker 插件详解, 配置, 别名使用
Docker 插件
这个插件可以为 docker 自动补全指令并设置别名。
要在你的 zsh 终端里使用这个插件,请在 .zshrc 文件的插件列表里添加 docker。
plugins=(... docker)
下面是 docker/cli git 仓库里自动补全脚本的副本: https://github.com/docker/cli/blob/master/contrib/completion/zsh/_docker
设置
默认情况下,自动补全功能不支持使用连续选项,例如你不能补全 docker run -it <TAB>,因为 -i 和 -t 在这里是连续使用的选项。
你可以通过在 .zshrc 文件中添加如下几行内容来 启用此功能,但请注意它的副作用:
这使得 Zsh 可以识别像
docker run -it ubuntu这种命令。但同时,它也使得 Zsh 无法为docker run -u<TAB>补全为docker run -uapprox。用户必须在尝试补全之前输入空格或等号。因此,此行为在默认情况下是禁用的。要启用它,需要:
zstyle ':completion:*:*:docker:*' option-stacking yes zstyle ':completion:*:*:docker-*:*' option-stacking yes
使用旧式补全
如果你发现当前的自动补全功能不太好用,你可以启用旧版的自动补全,具体设置如下。有关更多信息,请参阅 https://github.com/ohmyzsh/ohmyzsh/issues/11789。
zstyle ':omz:plugins:docker' legacy-completion yes
别名
| 别名 | 指令 | 描述 |
|---|---|---|
| dbl | docker build | 根据 Dockerfile 构建一个镜像 |
| dcin | docker container inspect | 查看一个或多个容器的详细信息 |
| dcls | docker container ls | 列出所有正在运行的 Docker 容器 |
| dclsa | docker container ls -a | 列出所有正在运行和已停止的容器 |
| dib | docker image build | 根据 Dockerfile 构建一个镜像(与 docker build 等效) |
| dii | docker image inspect | 查看一个或多个镜像的详细信息 |
| dils | docker image ls | 列出 Docker 镜像 |
| dipu | docker image push | 将镜像或仓库推送到远程仓库 |
| dirm | docker image rm | 删除一个或多个镜像 |
| dit | docker image tag | 为特定镜像添加名称和标记 |
| dlo | docker container logs | 获取 Docker 容器的日志 |
| dnc | docker network create | 创建一个新的网络 |
| dncn | docker network connect | 将容器连接到网络 |
| dndcn | docker network disconnect | 将容器断开网络 |
| dni | docker network inspect | 返回一个或多个网络的信息 |
| dnls | docker network ls | 列出引擎守护进程已知的包含多个主机的网络 |
| dnrm | docker network rm | 删除一个或多个网络 |
| dpo | docker container port | 列出端口映射或容器的特定映射 |
| dpu | docker pull | 从注册中心拉取镜像或仓库 |
| dr | docker container run | 创建一个新容器并使用指定的命令运行 |
| drit | docker container run -it | 创建一个新容器并在交互式模式下运行 |
| drm | docker container rm | 删除指定的容器 |
| drm! | docker container rm -f | 强制删除正在运行的容器(使用 SIGKILL) |
| dst | docker container start | 启动一个或多个已停止的容器 |
| drs | docker container restart | 重启一个或多个容器 |
| dsta | docker stop $(docker ps -q) | 停止所有正在运行的容器 |
| dstp | docker container stop | 停止一个或多个正在运行的容器 |
| dtop | docker top | 显示容器正在运行的进程 |
| dvi | docker volume inspect | 显示一个或多个卷的详细信息 |
| dvls | docker volume ls | 列出 docker 已知的全部卷 |
| dvprune | docker volume prune | 清理不再使用的卷 |
| dxc | docker container exec | 在正在运行的容器中运行指定命令 |
| dxcit | docker container exec -it | 在正在运行的容器中以交互式 shell 运行指定命令 |