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 运行指定命令 |